首页  ·  知识 ·  云计算
asp.net整站如何防止SQL注入方式入侵之一web.config
网友     综合  编辑:dezai   图片来源:网络
一、数据验证类 建立一个过滤类暂时叫parameterCheck.cs /stron

一、数据验证类

建立一个过滤类暂时叫parameterCheck.cs

public class parameterCheck{

public static bool isEmail(string emailString){

return System.Text.RegularExpressions.Regex.IsMatch(emailString, "['\\w_-]+(\\.

['\\w_-]+)*@['\\w_-]+(\\.['\\w_-]+)*\\.[a-zA-Z]{2,4}");

}

public static bool isInt(string intString){

return System.Text.RegularExpressions.Regex.IsMatch(intString ,"^(\\d{5}-\\d{4})|

(\\d{5})$");

}

public static bool isUSZip(string zipString){

return System.Text.RegularExpressions.Regex.IsMatch(zipString ,"^-[0-9]+$|^[0-9]

+$");

}

}

二、Web.config

在你的Web.config文件中,在下面增加一个标签,如下:
<appSettings>
<add key="safeParameters" value="OrderID-int32,CustomerEmail-email,ShippingZipcode-USzip"></add>
</appSettings>
其中key是后面的值为“OrderId-int32”等,其中“-”前面表示参数的名称比如:OrderId,后面的int32表示数据类型。

三、Global.asax

在Global.asax中增加下面一段:

protected void Application_BeginRequest(Object sender, EventArgs e){

String[] safeParameters = System.Configuration.ConfigurationSettings.AppSettings

["safeParameters"].ToString().Split(',');

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

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

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

isValidParameter(parameterName, parameterType);

}

}

 

public void isValidParameter(string parameterName, string parameterType){

string parameterValue = Request.QueryString[parameterName];

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");

}

}

以后需要修改的时候我们只需要修改以上三个文件,对整个系统的维护将会大大提高效率,当然你可以根据自己的需要增加其它的变量参数和数据类型。

服务器简单建议

远程登录不要其他第三方软件,软件越多,漏洞越多,不需要安装其他防火墙,AntiARP防火墙+系统防火墙足够

本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读