PHP - 只允许通过 AJAX 访问

标签 php javascript jquery ajax apache

在我的 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/

相关文章:

涉及日语的PHP正则表达式

php - 使用 apache 和 nginx 反向代理安装 php-fpm 后 503 服务不可用

javascript - 停止浏览器突出显示图像

javascript - 在更改时删除 css 类,无论使用 javascript 的选择字段中的值如何

javascript - 数据库中的字符串无法调用 Javascript

php - 查找与多个类别相关的视频 (1 :N Relation) mysql

javascript - jquery 手机 : set width and height for desktop browser

javascript - 如何使用纯 JavaScript 在下拉列表中构建可折叠选项

javascript - jquery中的点击事件比较

javascript - 图像切换图库