location ~ \..*/.*\.php$
{
return 403;
}
我将其解释为:区分大小写。[任何字符重复 0 次或多次]/[任何字符重复 0 次或多次].php
例子:
.abc/abc.php
./.php
我不明白为什么我需要这个用于 drupal
location ~ \..*/.*\.php$
{
return 403;
}
我将其解释为:区分大小写。[任何字符重复 0 次或多次]/[任何字符重复 0 次或多次].php
例子:
.abc/abc.php
./.php
我不明白为什么我需要这个用于 drupal
你是正确的区分大小写的匹配.anything/anything.php。我相信这是出于安全原因。如果有人制作/上传恶意隐藏文件或目录(在 *nix 中,文件/目录以“.”开头表示隐藏文件),它将返回 http 403(禁止访问)
它旨在阻止对以点开头的目录中的 .php 文件的任何请求。这些文件可以出现在 .svn 目录中,例如,聪明的黑客可以在其中设法运行文件的旧版本。在某些情况下,您的文档根目录中可能有一个 .drush 目录,其中也可能包含您不想在 Web 服务器上下文中运行的 .php 文件。
允许这条规则继续存在肯定不会对绝大多数情况造成伤害,并且根据您在文档根目录中的内容,安全方面的收益可能是巨大的。