`
fengxu
  • 浏览: 168422 次
  • 性别: Icon_minigender_1
  • 来自: 四川
文章分类
社区版块
存档分类
最新评论

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文件中,在<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");
}
}


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

分享到:
评论

相关推荐

    SQL通用防注入程序

    如果想整站防注,就在网站的一个公用文件中,如数据库链接文件conn.asp中! 添加&lt;!--#include virtual="/Neeao.com/Neeao_SqlIn.Asp"--&gt;来调用本软件 需要注意的是,在添加到数据库连接文件中,为了不和程序发生冲突...

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

    做到以下三步,相信的程序将会比较安全了,而且对整个网站的维护也将会变的简单。 一、数据验证类:parameterCheck.cs 代码如下:public class parameterCheck{ public static bool isEmail(string emailString){...

    SQL通用防注入程序 v3.1 最终纪念版

    如果想整站防注,就在网站的一个公用文件中,如数据库链接文件conn.asp中! 添加&lt;!--#Include File="Neeao_SqlIn.Asp"--&gt;来调用本软件 需要注意的是,在添加到数据库连接文件中,为了不和程序发生冲突, 需添加在...

    SQL通用防注入系统3.1β版

    如果想整站防注,就在网站的一个公用文件中,如数据库链接文件conn.asp中! 添加&lt;!--#Include File="Neeao_SqlIn.Asp"--&gt;来调用本软件 需要注意的是,在添加到数据库连接文件中,为了不和程序发生冲突, 需添加在...

    [整站程序]F60在线整站程序_f60.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    [整站程序]极度迅雷影视整站_09959.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    极度学习整站程序JSP版

    由文章、下载、图片主要功能模块和广告、公告、调查、友情链接、网站统计、用户、数据库管理等多个通用模块组成,每个模块又包含若干个子模块,构建出强大和完善的功能体系。系统防止SQL注入攻击,对密码全部进行 MD...

    深度学习整站系统 v3.0.8.rar

    由文章、下载、图片主要功能模块和广告、公告、调查、友情链接、网站统计、用户、数据库管理等多个通用模块组成,每个模块又包含若干个子模块,构建出强大和完善的功能体系。系统防止SQL注入攻击,对密码进行 MD5 ...

    [整站程序]金玄网整站系统vBoardv1.0RC1_vboard10rc1.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    SQL通用防注入系统3.0(asp)版

     如果想整站防注,就在目录的数据库连接文件中添加头部调用,如conn.asp中!添加  &lt;!--#Include File="Neeao_SqlIn.Asp"--&gt;  需要注意的是,在添加到数据库连接文件中,为了不和程序发生冲突,  需添加在...

    [整站程序]足球彩票网全站程序_zucai.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    [整站程序]校内网代码站_xndm.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    [整站程序]WapPortalServerv1.21(PHP+MYSQL的WAP整站)_wap.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    整站程序清风千年整站系统V5.0(附PSD源文件)-qfkzweb-free5-php5-gbk.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    [整站程序]漂亮的全站程序-JOYS的小窝_free5.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    ASP新版深度学习整站系统程序 v2.1.2

    程序开发: 吕海鹏程序简介:由文章、下载、图片主要功能模块和广告、公告、调查、友情链接、网站统计、用户、数据库管理等多个通用模块组成,每个模块又包含若干个子模块,构建出强大和完善的功能体系。系统防止SQL...

    [整站程序]创佳迷你全站系统v1.0_mtv.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    [整站程序]与非IT数码产品门户程序_ityesno.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

    [整站程序]数字中国全站系统v1.3.1_dbchinav131.zip

    总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者还是经验丰富的开发人员,我们相信我们的源码将能够帮助您快速构建出优秀的Web应用程序。

Global site tag (gtag.js) - Google Analytics