.htaccess拒绝访问特定文件?超过一个

oni*_*kun 19 php apache security .htaccess file

我可以使用.htaccess禁用对文件的访问,但我不知道如何禁止查看多个文件(直接,不是来自包含)

它们是.php所以我无法禁用文件类型(就像在线的唯一教程说的那样..)

<FILES ... ? 

</FILES>
Run Code Online (Sandbox Code Playgroud)

或者其他东西..例如"home.php,file.php,test.php"如何禁止访问带有该标签的所有三个文件?或类似的,请帮忙!

Res*_*uum 27

如果要基于正则表达式排除文件,可以使用FilesMatch而不是Files,例如:

<FilesMatch ^((home|test|file)\.php$|mysecretfolder|asecretpicture\.jpe?g)$>
...
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

  • 这是我整周看到的最有用的东西.当然,它在周一凌晨2点过去,但仍然如此. (2认同)

Sel*_*t0r 12

看起来你必须逐个排除这些文件:

<files home.php>
Deny/Allow/Whatever
</files>
<files file.php>
...
Run Code Online (Sandbox Code Playgroud)

你可以使用*.gifin <files>something*,但是作为home.php,file.php和test.php实际上不能用"*"组合,这可能是唯一的方法.


Raf*_*shi 6

从阿帕奇 2.4 开始

<FilesMatch "\.htaccess|config\.php">

    Require all denied

</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

代替

<FilesMatch "\.htaccess|config\.php">

    Order allow,deny 
    Deny from all 

</FilesMatch>
Run Code Online (Sandbox Code Playgroud)