1

如果请求脚本位于同一域中,如何让我的 PHP 脚本仅响应请求?

** 编辑: ajax 请求正在访问 PHP 文件并且是代理,所以我不希望其他人直接请求它出现,这可能吗?

4

3 回答 3

2

您可以$_SERVER['REMOTE_ADDR']用来比较请求页面的用户的 IP。或者您可以简单地将其设为命令行脚本(显然)要求您从命令行运行它。

编辑:

您想阻止人们通过 AJAX 以外的方式使用该脚本?不可能,因为 AJAX 本身是由客户端执行的,因此请求从那里开始。并且总是可以单独调用该脚本;你可以让它变得更难,但你无法阻止它。

于 2010-02-25T00:49:45.777 回答
1

没有安全的方法可以做到这一点。一些开发人员会天真地使用 HTTP referrer 标头字段,但任何聪明到滥用 ajax 接口的人在伪造referrer 时都没有问题。

于 2010-02-25T01:19:29.807 回答
0

您不应该向自己的服务器发送请求。您应该include直接创建文件并执行功能。

于 2010-02-25T00:51:45.337 回答