`

(转).Net程序如何防止被注入(整站通用)

    博客分类:
  • .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");
 }
}
 

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

相关推荐

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

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

    SQL通用防注入系统3.1β版

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

    ASP.NET展会整站源码.zip

    这个"ASP.NET展会整站源码.zip"文件显然包含了用于构建一个完整的展会网站的所有源代码。源码通常包括HTML、CSS、JavaScript以及C#或VB.NET等编程语言编写的后端代码,这些代码共同协作以实现网站的功能。 ASP.NET...

    网软志成分类信息网站系统.net官方商业版

     网软志成是基于微软 .Net 平台开发的分类信息管理系统,它集成了自定义信息发布表单、整站伪静态HTML、分站顶级或二级域名绑定、分类/分站模板管理、IP自动跳转、搜索引擎优化、网银支付、道具、短信/邮箱验证、...

    仿赶集网站模板.net分类信息管理系统下载

     网软志成是基于微软 .Net 平台开发的分类信息管理系统,它集成了自定义信息发布表单、整站伪静态HTML、分站顶级或二级域名绑定、分类/分站模板管理、IP自动跳转、搜索引擎优化、网银支付、道具、短信/邮箱验证、...

    茶叶公司整站

    【标题】"茶叶公司整站"所代表的是一个专门针对茶叶行业的完整网站模板或系统,设计风格以清新、自然为主,旨在为茶叶公司提供一个展示产品、传播茶文化、进行在线销售的平台。这样的网站通常包含公司介绍、产品展示...

    在线积分小游戏整站系统

    在线积分小游戏整站系统是一种基于Web的互动娱乐平台,它将传统的Flash游戏与积分机制相结合,为用户提供了更丰富的游戏体验。在这个系统中,用户可以通过参与小游戏来赚取积分,这些积分可以用来兑换奖励或者参与更...

    【M97】网站建设网络公司整站源码.zip

    【M97】网站建设网络公司整站源码.zip是一个压缩包,其中包含了用于构建一个完整的网站的源代码,尤其适用于网络公司。这个源码可能是基于某种编程语言(如PHP、HTML、CSS、JavaScript等)构建的,旨在为用户提供...

    分类信息系统正式版下载

     网软志成是基于微软 .Net 平台开发的分类信息管理系统,它集成了自定义信息发布表单、整站伪静态HTML、分站顶级或二级域名绑定、分类/分站模板管理、IP自动跳转、搜索引擎优化、网银支付、道具、短信/邮箱验证、...

    25175云酒店管理平台系统 v1.0.rar

    系统采用B/S模式,使用主流程序语言,如:ASP.NET编写,实现客户端零维护,将开房、管理、信息、商品等功能有机集成于一体,提高酒店管理的总体效率。 建立完善的安全保障体系,有效利用系统防护程序防范可能发生的...

    仿58同城赶集网源码

    提供下载的整站,程序源码,功能完全,欢迎大家下载使用.分类信息网站,供求信息网站管理系统功能将更加完全,真正的能为大家在建设分类信息网站,供求信息网站系统中带来安全,稳定,高效。本系统分分类信息网站,供求信息...

    globaltalker.com.cn 全站系统.rar

    6. **安全性**:CGI程序的安全性是一个关键考虑因素,需要防止SQL注入、跨站脚本(XSS)攻击等网络安全威胁。系统可能包括输入验证、数据过滤和安全编码机制。 7. **性能优化**:考虑到CGI程序可能对服务器资源消耗...

    生活分类信息发布网站的优秀网站管理系统正式版

     网软志成是基于微软 .Net 平台开发的分类信息管理系统,它集成了自定义信息发布表单、整站伪静态HTML、分站顶级或二级域名绑定、分类/分站模板管理、IP自动跳转、搜索引擎优化、网银支付、道具、短信/邮箱验证、...

    精良企业网站管理asp

    9. **安全性**:在使用ASP开发企业网站时,需要注意防止SQL注入、XSS攻击、CSRF等网络安全问题,通过验证输入、参数化查询等方式提高系统安全性。 10. **性能优化**:包括代码优化、数据库查询优化、缓存策略、负载...

    蓝丽留言版

    非常简单,几乎无需改动或根据您的要求少加改动,上传至服务器即可正常运行安全方面:在本人已知的Asp,Asp.net存在的(数据提交,Sql注入,Cookies欺骗,跨站提交,注水 提交)等安全隐患上下了许多工夫,经仔细测试在这些方面...

    分类信息网站建站系统正式版

     网软志成是基于微软 .Net 平台开发的分类信息管理系统,它集成了自定义信息发布表单、整站伪静态HTML、分站顶级或二级域名绑定、分类/分站模板管理、IP自动跳转、搜索引擎优化、网银支付、道具、短信/邮箱验证、...

    各级教学教育学校网站源码下载

    更是有着几十套推陈出新,紧跟学校建站市场的开发的学校网站管理程序,设计的非常漂亮美观的学校网站模板,同时提供有ASP学校网站系统免费下载,二十多套PHP学校网站程序全功能下载,再也不用愁应该用什么学校网站程序,...

Global site tag (gtag.js) - Google Analytics