各位大侠:在页面上的查询文本框中输入HTML标签或SQL关键字后,再点击查询按钮,系统发生错误。如何解决,请指教!

解决方案 »

  1.   

    解决方案一:
    在.aspx文件头中加入这句:
    <%@ Page validateRequest="false"  %>
    解决方案二:
    修改web.config文件:
    <configuration>
      <system.web>
        <pages validateRequest="false" />
      </system.web>
    </configuration>
    因为validateRequest默认值为true。只要设为false即可。
      

  2.   

    在这个页面的.aspx文件头中加入 
    <%@ Page validateRequest="false" 字样这主要是MS为了一些人对脚本攻击不注意而设置的,默认是不让输入一些特殊语句
      

  3.   

    可以用正则表达式对textbox进行检查验证,如果不符合查询所输入的字段,则显示查询字段不符合规则,需要重新输入就OK了
      

  4.   

    void submitBtn_Click(object sender, EventArgs e) 
      ...{ 
        // 将输入字符串编码,这样所有的HTML标签都失效了。 
        StringBuilder sb = new StringBuilder( 
                                HttpUtility.HtmlEncode(htmlInputTxt.Text)); 
        // 然后我们选择性的允许<b> 和 <i> 
        sb.Replace("&lt;b&gt;", "<b>"); 
        sb.Replace("&lt;/b&gt;", ""); 
        sb.Replace("&lt;i&gt;", "<i>"); 
        sb.Replace("&lt;/i&gt;", ""); 
        Response.Write(sb.ToString()); 
      }