.env 文件仅在通过 https 和网站 IP 地址访问时暴露
.env file exposed only when accessing via https and website IP address
我无法理解为什么 .env 仍然暴露。该网站具有 HTTPS 证书。我在 .htaccess 文件中拒绝了 .env 文件,如下所示:
# Disable index view
Options -Indexes
# Hide a specific file
<Files .env>
Require all denied
</Files>
在这些 URL 上被正确阻止(403 禁止错误):
https://example.com/.env
http://example.com/.env
http://###.IPaddress.###/.env
但是忽略“不安全”警告在这里仍然可见:
https://###.IPaddress.###/.env
同样,仍然有 Apache Testing 123 页面作为上述 URL 的主页(当不访问 .env 文件时)。我怎样才能阻止这个文件?
您可能有一个 default <VirtualHost *:443>
正在捕获请求(服务器配置中定义的第一个虚拟主机是“默认”),这可能不允许 .htaccess
覆盖(即 AllowOverride
未定义或设置为 None
),因此 .htaccess
文件未被处理。
您需要确保捕获请求的 default vHost 要么完全阻止对 IP 地址的请求,要么重定向到规范的主机名。
有关配置此功能的更多详细信息,请参阅有关 ServerFault 的以下问题:
我无法理解为什么 .env 仍然暴露。该网站具有 HTTPS 证书。我在 .htaccess 文件中拒绝了 .env 文件,如下所示:
# Disable index view
Options -Indexes
# Hide a specific file
<Files .env>
Require all denied
</Files>
在这些 URL 上被正确阻止(403 禁止错误):
https://example.com/.env
http://example.com/.env
http://###.IPaddress.###/.env
但是忽略“不安全”警告在这里仍然可见:
https://###.IPaddress.###/.env
同样,仍然有 Apache Testing 123 页面作为上述 URL 的主页(当不访问 .env 文件时)。我怎样才能阻止这个文件?
您可能有一个 default <VirtualHost *:443>
正在捕获请求(服务器配置中定义的第一个虚拟主机是“默认”),这可能不允许 .htaccess
覆盖(即 AllowOverride
未定义或设置为 None
),因此 .htaccess
文件未被处理。
您需要确保捕获请求的 default vHost 要么完全阻止对 IP 地址的请求,要么重定向到规范的主机名。
有关配置此功能的更多详细信息,请参阅有关 ServerFault 的以下问题: