日期:2014-05-17  浏览次数:20708 次

请问如何实现禁止浏览器直接访问ajax页面?
例如cnbeta 这个网站,是用ajax加载资讯,在FF里看到加载的地址是http://cnbeta.com/newread.php?page=2这样的,但是直接在浏览器打开报错

请问这是怎么做到的?session?

------解决方案--------------------
一个是,ajax的数据,只接受post动作发来的请求,因为地址栏输入,人工访问,发送的是get请求,所以可以有效阻止。
还有就是判断下user-agent。
------解决方案--------------------
也可能跟Referer有关,具体要比较失败和成功两次请求的区别。
------解决方案--------------------
我常用的有两种办法,
1:用session只让登陆后的用户访问
2:限制来源地址,if (HttpContext.Current.Request.UrlReferrer.Host != HttpContext.Current.Request.Url.Host){ 错误处理逻辑}

------解决方案--------------------
referer或者user-agent有关系