原因是这样:以前我对用户的输入都做了显示处理就是replace替换关键字符、字符串,今天突然想到可以在url中输入脚本比如:http://localhost:1656/WebSite/TG/Info/Default.aspx?<script>alert();</script>
就会提示:从客户端中检测到有潜在危险的 Request.Form    最普遍的就是设置validateRequest="false"
不过这样做就降低了安全性能  
我想知道大家一般都是怎么考虑的 网站安全的
我不要长篇大论  能给点实际怎么处理的就行  比如如何防止sql注入、脚本攻击

解决方案 »

  1.   

    使用正则表达式过滤链接中的字符串
    private static Regex RegRemoveHtmlTag = new Regex("<[\\s\\S][^<]*>", RegexOptions.Multiline | RegexOptions.Compiled);
      

  2.   

    在Global.asax中Application_BeginRequest拦截或过滤非法字符
      

  3.   

    1、sql注入就使用参数SqlParameter或OracleParameter等等
    2、Js注入就过滤URL非法字符。在Global或HttpHandler中做都可以
      

  4.   

    Global.asax   怎么配置呢   可以具体说下哇
      

  5.   

    encode decode,客户来啥存啥,显示的时候都给它显示出来,脚本也一样。
      

  6.   

    既然你已替换了关键字符,
    为何不把< 以及 > 字符以及script字符串再加进去?
      

  7.   

    判断字符类型,数据加密
    数据参数化
    int i=0;
    int.TryParse(Request.QueryString[""].ToString()),out i);
    SQLParameter para = new SQLParameter("id", SQLType.Int);  
    http://topic.csdn.net/u/20090708/09/b78444ee-9081-4ff7-8aa5-ba6f9b1d9fdc.html