我试图拒绝任何在特定目录中浏览PHP文件的人访问:
example.com/inc/
我创建了一个带有内容的example.com/inc/.htaccess文件:
Order deny,allow
Deny from all
当我尝试访问其中一个文件时,这会导致403 Forbidden响应。例如:example.com/inc/file.php
问题是,我的网络服务器也被拒绝访问,我的应用程序停止工作。
如何拒绝访问浏览此类PHP文件但允许我的共享Web服务器访问的用户?
注意:我正在使用GoDaddy共享托管。
答案 0 :(得分:5)
我会使用规则并阻止用户输入的访问权限。这将阻止输入的任何php文件。
RewriteEngine On
RewriteRule ^.*\.php$ - [F,L,NC]
根据您的评论进行修改。试试这种方式。
<Files (file|class)\.php>
order allow,deny
deny from all
allow from 127.0.0.1
allow from 192.168.0.1
</Files>
将192.168.0.1替换为您的服务器IP地址。
答案 1 :(得分:2)
使用正确的目录结构将文件放到lib /目录中,并将其包含在此目录中不存在的文件中。这是常见框架的工作原理。
您甚至可以将您的网址映射到网络/目录并将网站放在一个目录中,然后您确定无法访问您的.php文件,只能访问index.php和资产。
你可以阅读它是如何解决的,例如在Symfony2 http://symfony.com/doc/current/quick_tour/the_architecture.html它会给你一些线索。
答案 2 :(得分:1)
要阻止对以.php
结尾的所有文件的导航访问权限,您可以使用:
RedirectMatch 403 ^.*\.php$
答案 3 :(得分:1)
要仅拒绝访问php文件,您可以使用:
<Files *.php>
order allow,deny
deny from all
</Files>