我一直在努力寻找拒绝所有AJAX/PHP/浏览器请求访问文件的解决方案,除非它们来自同一服务器上的一个(另一个)目录/文件我在JSON文件的目录中有一个.htaccess。该文件由CMS插件获取,如下所示(相当标准):
- Javascript对服务器上的一个名为
handler.php
的PHP文件进行AJAX调用 handler.php
然后检索文件的内容并将其返回给JS
我不能使用重写规则,因为这不是一个前提条件。用于CMS。我也不能设置一个已知的域名,因为它是动态的。理想情况下,我会做Allow from SELF
我尝试了以下.htaccess配置,但没有成功:
Order Deny, Allow
Deny from all
Allow From <ownDomainName/subpath>
或者:
Order Deny, Allow
Deny from all
Allow From <ownDomainName/subpath/fileName.ext>
我也尝试了使用setEnv
指令,以及混合使用<Files>
、<Directory>
和<Location>
的其他指令。如果我只是Deny from All
,PHP就无法访问它。有什么解决方案可以限制对JSON文件的访问吗?此外,这与我在localhost
上测试的事实有什么关系吗?
有两种类型的文件访问。
- 在web中,应用.htaccess规则或服务器(apache)配置
- 通过在应用文件系统权限的服务器计算机上运行的应用程序或脚本
所以您可以拒绝.htaccess文件中的所有请求,但PHP脚本仍然可以通过FS访问该文件(取决于FS权限)。