작성자: Taote.com
출처: Taote.com
참고: SQL 인젝션을 방지하기 위해 재인쇄 시 출처를 명시해 주시기 바랍니다
. 일반적으로 파일을 하나씩 수정하는 것은 번거로울 뿐만 아니라 전체에서 인젝션을 방지하는 방법에 대해 말씀드리겠습니다. 체계.
다음 세 가지 단계를 따르면 프로그램이 더 안전해지고 전체 웹사이트의 유지 관리가 더 간단해질 것이라고 믿습니다.
1. 데이터 검증 카테고리:
매개변수검사.cs
공개 클래스 매개변수검사{
공개 정적 bool isEmail(string emailString){
return System.Text.RegularExpressions.Regex.IsMatch(emailString, "['\w_-]+( \.['\w_-]+)*@['\w_-]+(\.[ '\w_-]+)*\.[a-zA-Z]{2,4 }");
}
공개 정적 bool isInt(string intString){
return System.Text.RegularExpressions.Regex.IsMatch(intString ,"^( \d{5}-\d{4})|(\d{5})$ ");
}
공개 정적 bool isUSZip(string zipString){
return System.Text.RegularExpressions.Regex.IsMatch(zipString ,"^-[0-9]+$|^[0-9]+$");
}
}
2. Web.config
Web.config 파일에서 <appSettings> 아래에 다음과 같이 태그를 추가합니다.
<appSettings>
<add key="safeParameters" value="OrderID-int32,CustomerEmail-email,ShippingZipcode-USzip" />
</appSettings>
여기서 키는 <saveParameters>이고 다음 값은 "OrderId-int32" 등입니다. 여기서 앞의 "-"는 매개변수의 이름을 나타냅니다(예: OrderId). 다음 int32는 데이터를 나타냅니다. 유형.
3. Global.asax
Global.asax에 다음 단락을 추가하십시오.
protected void Application_BeginRequest(객체 전송자, EventArgs e){
String[] safeParameters = System.Configuration.ConfigurationSettings.AppSettings["safeParameters"].ToString().Split(',');
for(int i= 0;i < safeParameters.Length; i++){
String 매개변수 이름 = safeParameters[i].Split('-')[0];
String 매개변수 유형 = safeParameters[i].Split('-')[1];
isValidParameter(매개변수 이름, 매개변수 유형);
}
}
공개 무효 isValidParameter(문자열 매개변수 이름, 문자열 매개변수 유형){
string 매개변수값 = Request.QueryString[매개변수이름];
if(parameterValue == null) return;
if(parameterType.Equals("int32")){
if(!parameterCheck.isInt(parameterValue)) Response.Redirect("parameterError.aspx");
}
else if (parameterType.Equals("double")){
if(!parameterCheck.isDouble(parameterValue)) Response.Redirect("parameterError.aspx");
}
else if (parameterType.Equals("USzip")){
if(!parameterCheck.isUSZip(parameterValue)) Response.Redirect("parameterError.aspx");
}
else if (parameterType.Equals("email")){
if(!parameterCheck.isEmail(parameterValue)) Response.Redirect("parameterError.aspx");
}
}
나중에 수정이 필요한 경우 위의 세 가지 파일만 수정하면 됩니다. 그러면 전체 시스템 유지 관리의 효율성이 크게 향상됩니다. 물론 필요에 따라 다른 변수 매개변수와 데이터 유형을 추가할 수도 있습니다.