1

有没有办法知道页面是否使用 AJAX 调用?我们使用了一个通过 POST 方法发送的附加变量,我知道http_x_requested_with。但是我在一个与安全相关的博客上的某个地方读到它们都可以很容易地(?)被劫持。那么是否有一种安全的方法可以知道:它是否是 AJAX 请求?谢谢!

4

2 回答 2

1

x-requested-with可以很容易地改变,客户端。

...但是标头的重点不是提供安全的登录信息或会话安全性,而是要弄清楚如何处理传入的请求。

如果我在不设置标题的情况下发送GET请求data.php,那么我可能需要提供一个 XML 文件,或者我可能需要提供具有完整站点功能的整个 HTML 页面,该页面在用户中具有该数据的列表或表格-可读格式。

同时,如果设置了标头,也许我只是发送一个 JSON 响应,以便客户端可以刷新自身或在页面上加载新的小部件。

这一切都不是为了保护或提供安全性。这就像将视频游戏安全性与分辨率/图形设置联系起来。

如果客户强制执行特定设置,而他们无法处理响应,那就很难了。

如果客户强制设置,而您只是因为他们这样做而向他们提供各种敏感数据,那么该设置就在您身上。

于 2012-12-16T18:13:48.433 回答
0

没有安全的方法来检测 Ajax 调用。所有请求都可以被欺骗。您无法以这种方式提供安全性。您需要设置适当的安全性,例如通过基于会话的登录系统。

于 2012-12-16T18:02:53.123 回答