仅允许从同一服务器上的特定PHP文件/目录访问文件

时间:2015-02-20 21:15:02

标签: php ajax apache .htaccess

我一直在试图为拒绝访问所有AJAX / PHP /浏览器内请求的文件找到解决方案,除非他们来自一个(其他)目录/文件同一台服务器。 我在JSON文件的目录中有一个.htaccess。该文件由CMS插件提取,如下所示(非常标准):

  1. Javascript对服务器上的PHP文件进行AJAX调用,名为handler.php
  2. handler.php然后检索文件的内容并将其返回给JS。
  3. 我无法使用重写规则,因为它不是先决条件。对于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上测试的事实有什么关系吗?

1 个答案:

答案 0 :(得分:-1)

有两种类型的文件访问权。

  1. 从网络上,应用.htaccess规则或服务器(apache)配置。
  2. 通过在服务器计算机上运行的应用程序或脚本,应用文件系统权限。
  3. 因此您可以拒绝.htaccess文件中的所有请求,但PHP脚本仍然可以通过FS访问该文件(取决于FS权限)。