【问题标题】:How to protect all dot (.) files to access via direct URL如何保护所有点 (.) 文件以通过直接 URL 访问
【发布时间】:2017-10-31 18:33:02
【问题描述】:

保护服务器上所有点文件 (.env) 的最佳方法是什么。

我有一个带有 WHM 和 cPanel 的服务器,它在子文件夹中保存了许多项目。但我注意到任何人都可以通过以下 URL 访问它:

www.website.com/web1/.env
www.website.com/web2/.env

所以基本上我想保护我在服务器上的所有.files,因为它们保留了一些项目本身使用的机密数据

【问题讨论】:

  • 如果我的工作有效,请告诉我!
  • 我的解决方案有效吗?....

标签: php apache .htaccess nginx cpanel


【解决方案1】:

试试下面的配置,

<FilesMatch "^\.(.+)$">
   order deny,allow
   deny from all 
   allow from 127.0.0.1  
</FilesMatch>

【讨论】:

  • 我应该在哪里使用它?在 .htaccess 文件或其他地方?
  • 在根 htaccess 文件中使用它。
  • mod_access_compat 提供的指令已被 mod_authz_host 弃用。将 Order、Allow 或 Deny 等旧指令与 Require 等新指令混合在技术上是可行的,但不鼓励。创建此模块是为了支持仅包含旧指令的配置,以促进 2.4 升级。请查看升级指南以获取更多信息。 - httpd.apache.org/docs/2.4/mod/mod_access_compat.html
【解决方案2】:

allow from 指令已弃用,因此请使用以下指令。将此添加到您的根 .htaccess 文件中,例如/var/www/html/usr/local/apache2/htdocs/home/user/public_html

<FilesMatch "^\.(.+)$">
Require local
</FilesMatch>

感谢@abhishekgurjar 的正则表达式。

【讨论】:

  • allow from 是 Apache 2.2 及更早版本的语法。这是 Apache 2.4 及更高版本的新语法。
  • @StephenOstermiller 已修复。是的,在我知道之前就回答了这个问题
【解决方案3】:

将这些行放在您的 .htaccess 文件中:

RewriteCond %{REQUEST_URI} !\.well-known
RewriteRule (^\.|/\.) - [F]

注意:保留 .well-known 行以允许 SSL 更新其证书。

【讨论】:

    猜你喜欢
    • 2014-05-03
    • 2015-02-17
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 2020-06-01
    • 1970-01-01
    • 2020-09-24
    相关资源
    最近更新 更多