如何防止用户在地址栏乱输入导致网页错误,我从网上查过了,但没有找到明确的答案,在web.comfig里怎么配置(queryString)啊?大家帮帮我。  

解决方案 »

  1.   

    要用到url重写。 建议查查这方面的文章和技术.
      

  2.   

    配置customError里的page,出错了都跳到指定的错误提示页面吧。
    然后,判断一下querystring的类型,如果不合法,就不执行程序。
      

  3.   

    比如:  www.xx.aspx?id=1这时如果他修改为  www.xx.aspx?id=1' 的话,就会报错了吧所以你要在接受ID的页面,也就是xx.aspx的page_load里,判断传过来的值
    if(!Page.IsPostBack)
            {
                if(Request["id"]!=null)
                {
                    string id = Request["id"].ToString();
                    Regex reg = new Regex("^[0-9]+$");   //判断传过来的ID是否为数字
                    Match ma = reg.Match(id);
                    if (!ma.Success)
                    {
                        //不是数字 
                        Server.Transfer("Error.aspx");
                    }
                    //接受值正常
                    label1.Text = id;
                }
            }
      

  4.   

    判断上页的url   
        
      if   (Request.ServerVariables["HTTP_Referer"]==null)   
        {   
         //Redirect to Error Page.
        }
      

  5.   

    中间拦截 判断下 QueryString[] 接受过来的值是不是合法 如果不合法 跳转到一个 你指定的 错误处理页面
      

  6.   

    配置XML文件,页面出错转向错误页面.....
      

  7.   


    //这时如果他修改为  
    www.xx.aspx?id=1' 
    //的话,就会报错了吧按你这方法,每个页面都要这样做吗?能不能在web.config里配置啊?可以给我一个web.config完整的配置吗?
      

  8.   

    config文件中配置customError的错误页面地址error.aspx,网站所有出错的时候都转到这个error.aspx页面去处理