任何知道是否使用AJAX调用页面的方法

时间:2012-12-16 17:58:24

标签: php javascript jquery ajax security

有没有办法知道该页面是否使用AJAX调用? 我们使用POST方法发送的其他变量,我知道http_x_requested_with。但我在安全相关博客上的某处读过,他们都很容易被劫持。 那么有一种安全的方法可以知道:这是一个AJAX请求吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

客户端可以轻松更改

x-requested-with

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

如果我发送GET data.php请求而没有设置标题,那么我可能需要提供XML文件,或者我需要提供具有完整网站功能的整个HTML页面,其中包含用户可读格式的数据列表或表格。

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

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

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

如果客户强制执行某个设置,并且您正在向他们提供各种敏感数据,只是因为他们这样做了,那么那个人就在你身上。

答案 1 :(得分:0)

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