首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

限制直接访问Ajax请求地址,该怎么解决

2012-12-16 
限制直接访问Ajax请求地址限制直接访问Ajax请求地址:有时候有些页面是用ajax请求,而达到无刷新的效果,那我

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

就是:
有些人恶意的直接在浏览器输入地址去请求

[最优解释]


        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;
        }

[其他解释]
判断来路
Request.UrlReferrer 不为空 且 包含你的网站域名
[其他解释]
这个仅能限制非ajax请求. 如果是恶意的 ajax请求.这个还是达不到效果的. 但是限制地址栏访问时OK的

[其他解释]
引用:
判断来路
Request.UrlReferrer 不为空 且 包含你的网站域名


直接在地址栏访问 。domain 不会变。 判断这有用吗?
[其他解释]

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


就像这样的。
[其他解释]
其实这个以前也是俺做的,但是不知道怎么做的,忘了。
[其他解释]
引用:
就像这样的。

我给你的代码可以实现哦。 

return false 的时候 提示就好
[其他解释]

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

{
...
}

[其他解释]


     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("非法操作!");
   }

热点排行