gpt4 book ai didi

php - 如何只允许从我的服务器上的文件调用 PHP 脚本?

转载 作者:行者123 更新时间:2023-11-28 11:27:43 24 4
gpt4 key购买 nike

对于我网站上的 AJAX,我从 Javascript 文件调用 some.php?request=bla。我不希望用户查看此请求的结果,甚至不希望通过输入 www.myurl.com/something.php?request=bla 来运行 PHP 文件。我只希望我的服务器上的文件能够调用 PHP 文件。我考虑了很多事情,例如在 PHP 脚本本身中进行比较的 secret 值,但这听起来对于我想要的来说太复杂了。我确信有一种更简单的方法。

如何才能使 PHP 文件仅在服务器上现有的脚本调用它时才能运行?用户不应该能够使用地址栏运行它。

最佳答案

这根本不可能。您的 Ajax 请求始终来自客户端。

理论上,您可以检查 HTTP_REFERER header ,但作为安全措施,这是完全无用的。来自客户端的请求(无论是否使用 Ajax)的每个方面都可以自由操作,包括引用字段。伪造据称是在您的页面上启动的 Ajax 请求是很简单的。

您没有必要首先施加这样的限制:如果您有适当的安全系统(例如登录),那么该系统的限制也将(或应该)适用于 Ajax 请求。

如果您的 Ajax 请求允许未经身份验证的有害操作(例如删除),则您需要添加身份验证。您无法将这些请求限制到特定的上下文或网站。

关于php - 如何只允许从我的服务器上的文件调用 PHP 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com