限制直接访问Ajax请求地址:
有时候有些页面是用ajax请求,而达到无刷新的效果,那我要怎么去限制非法去测试这些请求地址的请求呢就是:
有些人恶意的直接在浏览器输入地址去请求

解决方案 »

  1.   


            public static bool AjaxRequest(HttpRequestBase Request)
            {
                string sheader = Request.Headers["X-Requested-With"];
                bool isAjaxRequest = (sheader != null && sheader == "XMLHttpRequest") ? true : false;
                if (isAjaxRequest)   //判断请求是否为ajax
                    return true;
                else
                    return false;
            }
      

  2.   

    这个仅能限制非ajax请求. 如果是恶意的 ajax请求.这个还是达不到效果的. 但是限制地址栏访问时OK的
      

  3.   

    判断来路
    Request.UrlReferrer 不为空 且 包含你的网站域名
      

  4.   


    直接在地址栏访问 。domain 不会变。 判断这有用吗?
      

  5.   


    直接在地址栏访问,来路就是空, 
    ajax请求 判断来路页面在你的域名下。
    domain怎么会变?
      

  6.   

    我给你的代码可以实现哦。 return false 的时候 提示就好
      

  7.   


    if(Request.UrlReferrer!=null && Request.UrlReferrer.Host==Request.Url.Host){
    ...
    }
      

  8.   

         public static bool AjaxRequest()
            {
                string sheader = Request.Headers["X-Requested-With"];
                bool isAjaxRequest = (sheader != null && sheader == "XMLHttpRequest") ? true : false;
                if (isAjaxRequest)   //判断请求是否为ajax
                    return true;
                else
                    return false;
            }
        public void aaa()
       {
                if(!AjaxRequest())
                      response.write("非法操作!");
       }