请问如何实现禁止浏览器直接访问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有关系