在我的 CMS 中,我有一个页面使用 AJAX 将许多迷你界面加载到面板中。这些接口(interface)来自 /ajax
目录中的各种 PHP 文件。
是否有可能以某种方式只允许使用 ajax 访问这些文件,而不仅仅是通过浏览访问它们?
当然,我担心的是有人发现了 /ajax
目录,甚至无需登录就可以访问 CMS 的核心功能。当然,我可以导入我的用户类并分别验证每个 AJAX 文件,但是是否可以只允许通过 AJAX 进行访问?
最佳答案
Would it be possible somehow to only allow access to those files using ajax, and not just by browsing to them?
没有。
当您从 JavaScript 发出请求时,您可以添加额外的 HTTP header ,或修改现有的 header (例如 Accept
)……但是由于您出于安全原因尝试这样做,所以这样做是不够的.
Of course I could import my user class and authenticate each of the AJAX files individually
这样做。 Ajax 请求并不特殊。它们只是 HTTP 请求。为 Ajax 创建的端点应该像任何其他 HTTP 请求端点一样通过身份验证/授权来保护。
关于PHP - 只允许通过 AJAX 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8421230/