在PHP中检测Ajax并确保请求来自我自己的网站
我使用我的PHP后端通过检查中的值来检测AJAX请求。$_SERVER['HTTP_X_REQUESTED_WITH']
这为我提供了可靠的检测,确保使用AJAX技术发出请求。
如何确保请求来自我自己的域,而不是外部域/机器人?
www.example.com/ajax?true 可以允许任何人进行AJAX调用并剪切信息。
我可以为正常进入我网站的每个人创建会话,然后允许AJAX调用。但这也可以伪造。
这些天这有什么关系吗?
我使用我的PHP后端通过检查中的值来检测AJAX请求。$_SERVER['HTTP_X_REQUESTED_WITH']
这为我提供了可靠的检测,确保使用AJAX技术发出请求。
如何确保请求来自我自己的域,而不是外部域/机器人?
www.example.com/ajax?true 可以允许任何人进行AJAX调用并剪切信息。
我可以为正常进入我网站的每个人创建会话,然后允许AJAX调用。但这也可以伪造。
这些天这有什么关系吗?
让你控制器
在视图中
回到控制器中
查看OpenAjax的这些安全指南。
另外,请阅读有关安妮链接 codinghorror.com 的文章。
您可以检查HTTP_REFERRER,但并非所有浏览器都设置了它。最好的方法是在JavaScript端为ajax调用编写一个包装器,它将 document.cookie 的一部分发送回服务器 - 只有您的域有权访问该 Cookie。您可以将请求标头中的 Cookie 与 php 中 AJAX 调用中的 Cookie 进行比较。
作为回应,“这些天这还重要吗”——是的,确实如此!阅读此内容。