当前位置:七道奇文章资讯网站建设网站编程
日期:2010-10-15 21:17:00  来源:本站整理

ASP.NET整站防SQL注入攻击解析[网站编程]

赞助商链接



  本文“ASP.NET整站防SQL注入攻击解析[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

做到以下三步,相信你的程序就会对比安全了,并且对整个网站的保护也将变的简单.

1、数据考证类

  1. parameterCheck.cs   
  2.  
  3. public class parameterCheck{  
  4. public static bool isEmail(string emailString){  
  5. return System.Text.RegularExpressions.Regex.IsMatch(emailString, “['\\w_-]+(\\.  
  6. ['\\w_-]+)*@['\\w_-]+(\\.['\\w_-]+)*\\.[a-zA-Z]{2,4}”);  
  7. }  
  8. public static bool isInt(string intString){  
  9. return System.Text.RegularExpressions.Regex.IsMatch(intString ,”^(\\d{5}-\\d{4})|  
  10. (\\d{5})$”);  
  11. }  
  12. public static bool isUSZip(string zipString){  
  13. return System.Text.RegularExpressions.Regex.IsMatch(zipString ,”^-[0-9]+$|^[0-9]  
  14. +$”);  
  15. }  
  16. }   

2、Web.config

  在你的Web.config文件中,在下面增添一个标签,以下:

  此中key是背面的值为“OrderId-int32”等,此中“-”前面表示参数的名称比方:OrderId,背面的int32表示数据范例.

3、Global.asax

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

  1. protected void Application_BeginRequest(Object sender, EventArgs e){  
  2. String[] safeParameters = System.Configuration.ConfigurationSettings.AppSettings  
  3. ["safeParameters"].ToString().Split(’,');  
  4. for(int i0 ;i < safeParameters.Length; i++){  
  5. String parameterName = safeParameters[i].Split(’-')[0];  
  6. String parameterType = safeParameters[i].Split(’-')[1];  
  7. isValidParameter(parameterName, parameterType);  
  8. }  
  9. }   
  10.  
  11. public void isValidParameter(string parameterName, string parameterType){  
  12. string parameterValue = Request.QueryString[parameterName];  
  13. if(parameterValue == null) return;   
  14.  
  15. if(parameterType.Equals(”int32″)){  
  16. if(!parameterCheck.isInt(parameterValue)) Response.Redirect(”parameterError.aspx”);  
  17. }  
  18. else if (parameterType.Equals(”double”)){  
  19. if(!parameterCheck.isDouble(parameterValue)) Response.Redirect(”parameterError.aspx”);  
  20. }  
  21. else if (parameterType.Equals(”USzip”)){  
  22. if(!parameterCheck.isUSZip(parameterValue)) Response.Redirect(”parameterError.aspx”);  
  23. }  
  24. else if (parameterType.Equals(”email”)){  
  25. if(!parameterCheck.isEmail(parameterValue)) Response.Redirect(”parameterError.aspx”);  
  26. }  
  27. }   

  今后需求改正的时刻我们只需求改正以上三个文件,对整个系统的保护将会大大提高效率,当然你可以按照自己的需求增添别的的变量参数和数据范例.
 


  以上是“ASP.NET整站防SQL注入攻击解析[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • ASP利用正则表达式提取内容
  • nginx 反向代理iis支持 ASP脚本设置
  • <b>ASP.NET安全设置防备ASPXSpy</b>
  • Ubuntu Server+Apache 运行 asp.net
  • 怎样ASP.NET MVC调用Delphi开辟的Web报表
  • 学习ASP.NET需求举行的步骤办法
  • ASP.NET脚本过滤-避免跨站脚本攻击
  • Asp WinHttp.WinHttpRequest.5.1 对象利用详解
  • ASP防XSS注入函数
  • Asp 防备CC攻击模块 (Anti-CC.asp)
  • metasploit metasploit 中文系统安装失利问题
  • Ubuntu 11下安装Metasploit Pro 4.0.0
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .