All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
用php读取xml数据_php资料_编程技术
网页制作应掌握技术:随心所欲定制页面"弹出窗口"_JavaScript技术_编程技术
Zend,Framework,1.0正式版即将发布_php资料_编程技术
Sql,server表面区域配置工具保服务_[SQL,Server教程]
Asp.net中防止用户多次登录的方法_[Asp.Net教程]
VS2005+Crystal,Report开发Web应用_[Asp.Net教程]
关于线程的参数、“返回值”、及线程的中止_.net资料_编程技术
最基本的sql语句操作_[SQL Server教程]
在搜索结果出来之前页面显示“等待中...”的做法_[Asp.Net教程]
ASP.NET应用技巧:关于HtmlForm控件_[Asp.Net教程]
Reading number is top 10 pictures
30 beautiful school beauty6
Born After 90 Beijing sports university campus flower photos1
西游四格漫画(六)
Absolutely shocked. National geographic 50 animal photographys1
Sora aoi in China3
BingBingFan apple dew point photo gallery5
到南昌西站了1
9.3阅兵全景图5-地空反舰导弹梯队
宝贝系列
Sora aoi mirror memorial classics5
Download software ranking
Boxer's Top ten classic battle9
Tram sex maniac 2 (H) rar bag18
Tram sex maniac 2 (H) rar bag7
jBuilder2006
matrix1
Boxer vs Yellow1
Tram sex maniac 2 (H) rar bag9
Macromedia Dreamweaver 8
仙剑奇侠传98硬盘WINXP版
Tram sex maniac 2 (H) rar bag10
delv published in(发表于) 2014/1/10 6:23:29 Edit(编辑)
.Net程序如何防止被注入_[Asp.Net教程]

.Net程序如何防止被注入_[Asp.Net教程]

.Net程序如何防止被注入_[Asp.Net教程]

防止Sql注入,通常一个一个文件修改不仅麻烦而且还有漏掉的危险,下面我说一上如何从整个系统防止注入。

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

一、数据验证类


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文件中,在下面增加一个标签,如下:





其中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.Split('-')[0];
String parameterType = safeParameters.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");
}
}

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


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.