gpt4 book ai didi

.htaccess - htaccess FilesMatch 拒绝但允许特定文件

转载 作者:行者123 更新时间:2023-12-02 10:21:54 29 4
gpt4 key购买 nike

我的文件夹中有一个 htaccess 规则,不允许使用 php 脚本:

 <FilesMatch "\.(?i:php)$">
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>

效果很好。问题是,我确实希望能够调用(通过ajax)一个特定的php脚本,所以我想在拒绝之后添加另一个规则,即“但如果是这个特定文件,则允许它”。我已经使用该文件所在文件夹中的其他 htaccess 文件成功完成了此操作,如下所示:

<Files ajax_file.php>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Files>

我遇到的问题是我想从与阻止所有 .php 文件的原始 FilesMatch 相同的 htaccess 授予单个文件访问权限。我似乎无法通过添加文件路径来使其工作,并且想知道是否有更好的方法来解决此问题。该文件比拒绝 php 脚本的 htaccess 文件深几个文件夹。

最佳答案

我可以看到这是一篇非常旧的帖子,但是,由于没有标记的答案,我想我会尝试解决这个问题。

您需要的代码应如下所示:

<FilesMatch "\.(?i:php)$">
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>

这会阻止对所有 php 文件的访问,并将优先级设置为允许然后拒绝,以便我们可以稍后覆盖所有拒绝。

然后要允许访问特定的 php 文件,请使用以下命令:

<Files ajax_file.php>
<IfModule !mod_authz_core.c>
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Files>

我可以从你的OP中看到这与你自己的没有什么不同,所以我只能假设通过重新添加订单声明你会导致一些奇怪的事情把事情搞砸,因为你已经在中设置了优先级初始的 [block all php] 文件声明。

关于.htaccess - htaccess FilesMatch 拒绝但允许特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34769421/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com