出于安全考虑,我想阻止用户查看或发送任何内容到我将用于ajax目的的php页面。
那么有什么方法可以检查是否因为ajax请求而调用了页面或者页面已被打开? self = top是否考虑ajax请求?
答案 0 :(得分:2)
/* AJAX check */
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
/* special for ajax here */
}
else
{
//its a page request
}
这只适用于使用发送此标头的JS框架:-by Bergi
答案 1 :(得分:1)
不,您需要其他安全模型。
当然,您可以在执行Ajax请求时设置自定义http标头(如X-Requested-With
)等(许多库会自动执行此操作),并将它们与正常的“视图”请求区分开来。但是一切都可以伪造,所以通过确定它就没有安全性。
答案 2 :(得分:0)
即使您确实阻止了不使用ajax请求的人,也阻止人们首先更改ajax请求?
在我看来,这几乎没有增加任何安全性,特别是在使用firebug时可以轻松实现。