当前位置: 移动技术网 > IT编程>开发语言>.net > .Net程序防止被注入代码(整站通用)分享

.Net程序防止被注入代码(整站通用)分享

2017年12月12日  | 移动技术网IT编程  | 我要评论

郭碧婷抱猫咪赏樱,崔永平,大鸟阿力自射 下载

做到以下三步,相信的程序将会比较安全了,而且对整个网站的维护也将会变的简单。

一、数据验证类:
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>下面增加一个标签:如下

复制代码 代码如下:

<appsettings>
<add key="safeparameters" value="orderid-int32,customeremail-email,shippingzipcode-uszip" />
</appsettings>

其中key是<saveparameters>后面的值为"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");
 }
}

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网