PHP - 仅允许通过AJAX访问

Ale*_*lan 1 javascript php apache ajax jquery

在我的CMS中,我有一个页面,使用AJAX将大量迷你接口加载到面板中.这些接口来自/ajax目录中的各种PHP文件.

是否有可能只允许使用ajax访问这些文件,而不仅仅是浏览它们?

当然,我关心的是有人发现了/ajax目录,并且无需登录即可访问CMS的核心功能.当然我可以导入我的用户类并单独验证每个AJAX文件,但是是否可以只允许通过AJAX访问?

Que*_*tin 6

是否有可能只允许使用ajax访问这些文件,而不仅仅是浏览它们?

没有.

您可以Accept在从JavaScript发出请求时添加额外的HTTP标头,或修改现有标头(例如)...但是由于您出于安全原因尝试执行此操作,这将是不够的.

当然,我可以导入我的用户类并单独验证每个AJAX文件

去做.Ajax请求并不特殊.它们只是HTTP请求.为Ajax创建的端点应该使用身份验证/授权进行保护,就像任何其他HTTP请求端点一样.


小智 5

不会。黑客可以伪造Ajax请求。您需要在任何地方进行身份验证,否则就会被搞砸。