问题描述
我用我的PHP后台检测阿贾克斯这样的:$ _ SERVER ['HTTP_X_REQUESTED_WITH']。这给了我一个可靠的检测,确保请求Ajaxed。
I use my PHP backend to detect Ajax like this:$_SERVER['HTTP_X_REQUESTED_WITH'].This gives me a reliable detection, making sure the request is Ajaxed.
我如何确保请求来自于我自己的域名,而不是外部域/机器人?
How can I make sure the request came from my own domain, and not an external domain/robot?
www.example.com/ajax?true可以让任何人进行Ajax调用,减少的信息。
www.example.com/ajax?true could allow anyone to make an Ajax call and cut the information.
我可以让大家进入我的网站通常会,然后让Ajax调用..但可以伪造了。
I could make sessions for everyone that enters my website normally, and then allow Ajax calls.. but that can be faked too.
难道它甚至事,可好?
推荐答案
让你控制器
- 在生成的访问令牌
- 在会话存储供以后比较
在您查看
- 声明访问令牌的JS变量
- 与每个请求发送令牌
回到你的控制器
- 验证HTTP_X_REQUESTED_WITH
- 验证令牌
检查从被OpenAJAX 这些安全准则。
此外,阅读codinghorror.com安妮链接。
Check these security guidelines from OpenAjax.
Also, read the article on codinghorror.com Annie linked.
这篇关于检测阿贾克斯PHP,并确保请求是从我自己的网站的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!