Apache2 授予对特定位置的访问权限(.htaccess 文件)

Apache2 授予对特定位置的访问权限(.htaccess 文件)

有人可以帮我制作一个 .htaccess 文件吗,或者我如何限制对特定位置的访问。

我所有可访问的文件都位于,/var/www/website但是我还有一些类似的文件夹,/var/www/website/secrets, var/www/website/tools我希望它们无法通过网络浏览器访问。

我的主要问题是我有 cronjobs 执行 php 脚本var/www/website/tools并且我也不想拒绝它们访问。

答案1

要阻止所有网络访问这些目录,只需在每个目录中放置一个包含以下行的 .htaccess 文件:

  • Apache 2.4.x:

    Require all denied
    
  • Apache 2.2.x:

    Order deny,allow
    Deny from all
    

当然,这一切都假设您已AllowOverride配置好可以使用 .htaccess 文件。如果没有,那么您可以将这些行放在全局配置中的虚拟主机条目中,如下所示:

<Directory "/var/www/website/secrets">
    ...whichever entry from above here....
</Directory>

此外,只要您的 cron 直接调用脚本(使用 PHP 二进制文件)并且没有执行诸如 curl 或 wget 之类的愚蠢操作,那么那些 .htaccess 条目就不会对它们产生影响,因为它只会影响基于 Web 的流量(通过 Apache 传输的流量)。

我还建议阅读有关这个​​主题的 Apache 文档 - 它确实非常有帮助:

相关内容