如果请求脚本位于同一域中,如何让我的 PHP 脚本仅响应请求?
** 编辑: ajax 请求正在访问 PHP 文件并且是代理,所以我不希望其他人直接请求它出现,这可能吗?
您可以$_SERVER['REMOTE_ADDR']
用来比较请求页面的用户的 IP。或者您可以简单地将其设为命令行脚本(显然)要求您从命令行运行它。
编辑:
您想阻止人们通过 AJAX 以外的方式使用该脚本?不可能,因为 AJAX 本身是由客户端执行的,因此请求从那里开始。并且总是可以单独调用该脚本;你可以让它变得更难,但你无法阻止它。
没有安全的方法可以做到这一点。一些开发人员会天真地使用 HTTP referrer 标头字段,但任何聪明到滥用 ajax 接口的人在伪造referrer 时都没有问题。
您不应该向自己的服务器发送请求。您应该include
直接创建文件并执行功能。