您的位置:宽带测速网 > 网络知识 > c#如何避免sql注入

c#如何避免sql注入

2025-06-17 10:14来源:互联网 [ ]

c#避免sql注入的方法:

1.在Web.config文件中,下面增加一个标签,例如:

  

<appSettings>

  <addkey="safeParameters"value="OrderID-int32,CustomerEmail-email,ShippingZipcode-USzip"/>

  </appSettings>

2.在Global.asax中添加以下代码:

 

 protectedvoidApplication_BeginRequest(Objectsender,EventArgse){

  String[]safeParameters=System.Configuration.ConfigurationSettings.AppSettings["safeParameters"].ToString()。Split(',');

  for(inti=0;i<safeParameters.Length;i++){

  StringparameterName=safeParameters[i].Split('-')[0];

  StringparameterType=safeParameters[i].Split('-')[1];

  isValidParameter(parameterName,parameterType);

  }

  }

  publicvoidisValidParameter(stringparameterName,stringparameterType){

  stringparameterValue=Request.QueryString[parameterName];

  if(parameterValue==null)return;

  if(parameterType.Equals("int32")){

  if(!parameterCheck.isInt(parameterValue))Response.Redirect("parameterError.aspx");

  }

  elseif(parameterType.Equals("USzip")){

  if(!parameterCheck.isUSZip(parameterValue))Response.Redirect("parameterError.aspx");

  }

  elseif(parameterType.Equals("email")){

  if(!parameterCheck.isEmail(parameterValue))Response.Redirect("parameterError.aspx");

  }

  }