2

出于安全目的,我想阻止用户查看或发送任何内容到我将用于 ajax 目的的 php 页面。

那么有什么方法可以检查页面是否由于ajax请求而被调用或页面是否已打开?self=top 是否考虑 ajax 请求?

4

3 回答 3

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

于 2012-06-27T10:10:53.773 回答
1

不,您将需要其他安全模型。

当然,您可以X-Requested-With在执行 Ajax 请求时设置自定义 http 标头(如 )等(许多库会自动执行此操作),并将它们与正常的“查看”请求区分开来。但是一切都可能是伪造的,因此确定这一点并没有安全性。

于 2012-06-27T10:11:21.773 回答
0

即使您确实阻止人们不使用 ajax 请求,是什么阻止人们首先更改 ajax 请求?

在我看来,这几乎不会增加安全性,尤其是可以轻松地通过例如 firebug 来完成。

于 2012-06-27T10:10:53.617 回答