Apacheconfiguration:正则expression式禁止访问以点开头的文件/目录

我想禁止访问任何文件或目录,其名称以DOT开头。 我想出了以下内容,但只有在直接位于Document根目录下的情况下,才能禁止以DOT开头的文件/目录的访问。

<Files ~ "^.|/."> Order allow,deny Deny from all </Files>

有了这个,

http://my_server.com/.svn/entries --> Permission denied http://my_server.com/abcd/.svn/entries --> Accessible,should be disabled

什么是适当的正则expression式来实现呢?

谢谢,

htaccess 301redirectURL的参数

PHP模拟文件结构

查询string和Mod重写

htaccess文件拒绝所有,redirect到404没有find403.shtml,但没有定义的自定义错误页面

WAMP,Laravel 5:路由不工作 – NotFoundHttpException

J.P

.htaccess重写友好的URL

.htaccess:不在www base dir中的位置

将wwwredirect到非www

MOD_REWRITE用于urlvariables删除空参数并为第一个和第二个variables使用多于1个字段

http:// domain to https:// www in one redirect

您的代码不起作用,因为<Files>仅适用于所请求的文档的基本名称 。 也就是最后一个斜线后的部分。 (来源: http : //httpd.apache.org/docs/current/mod/core.html#files )

Apache在认安装中阻止.htaccess文件(更好:以.ht开头的所有文件)。 如果仔细观察配置文件,您会看到如下所示的内容

<FilesMatch "^.ht"> Order allow,deny Deny from all </FilesMatch>

因此,要隐藏所有以点开头的文件,您可以使用:

<FilesMatch "^."> Order allow,deny Deny from all </FilesMatch>

为了使它适用于以点开头的目录,请使用以下(经过测试的)代码

<DirectoryMatch "^.|/."> Order allow,deny Deny from all </DirectoryMatch>

RewriteRule (^.|/.) - [F]

这将拒绝查看以点开头的任何文件或目录。 它影响路径树中的任何级别。

[F]末尾的修饰符表示禁止访问(不需要L修饰符来表示它是最后一条规则,认情况下是隐含的)。

正则表达式有两个部分(任何一个都可以匹配,不要求都是):

(part1|part2)

第一部分匹配从点开始的任何内容(对于在每个目录.htaccess文件中使用它的情况,并且在我们匹配的字符串的开头不会有斜线):

^.

例如,这将适用于.test , .git/HEAD但不适用于/.git path/.hidden /.git 。

第二部分匹配任何包含斜线后跟点的内容。 如果你在VirtualHost或者Apache的配置中有这个规则,那么这个方法很有用,在这个配置中我们匹配的一个字符串可以用斜杠开始。

该规则将匹配: some/.hidden /.git , some/.hidden /.git这个规则将不匹配: .git , .hidden

当我们结合这两个规则时,似乎我们涵盖了所有可能的情况。

用重写mod:

RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/. RewriteRule ^(.*)$ - [R=404]

每个以点开头的文件或目录都将被重定向到404。

/myDir/.svn => 404 /.gitignore => 404 /dir1/dir2/dir3/..../.toHide => 404

这对我来说是完美的(Apache 2.4):

<LocationMatch "/."> Require all denied </LocationMatch>

拒绝包含以点(文件或目录)开头的组件的URL。

相关文章

可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持S...
为进一步规范小程序交易生态、提升用户购物体验、满足用户在...
云原生之使用Docker部署Dashdot服务器仪表盘
本文主要描述TensorFlow之回归模型的基本原理
1.漏洞描述Apache Druid 是一个集时间序列数据库、数据仓库和...
内部类(当作类中的一个普通成员变量,只不过此成员变量是cl...