我们都有像'connect_db.php'这样的php文件,仅供参与。
假设我在“www / html / INC”
中包含所有这些包含.php的文件我有index.php
我希望index.php可以从浏览器访问每个人,但我想阻止用户直接访问“www / html / INC”文件夹。 (例如,在浏览器中输入'www.domain.com/INC/' - > 404;错误等)
我如何实现这一目标?
请首先在根目录中使用.htaccess文件。
答案 0 :(得分:10)
像
这样的东西<Directory /INC>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
应该有用。
答案 1 :(得分:6)
我如何实现这一目标?
别。根据{{3}},将connect_db.php放在/ www /中更安全,而不是放在/ www / html / INC /中。如果您 要这样做,那么您将使用/www/html/.htaccess:
<Directory "/www/html/INC">
order allow,deny
deny from all
</Directory>
答案 2 :(得分:4)
Google搜索将我带到了这里,所以我想我今天在apache docs发布了我发现的内容。我不确定它可用的apache版本,但搜索你的版本进行验证。
现在您可以使用Require local
。我建议将.htaccess放在要限制访问权限的文件夹中。但是,如果你必须在根目录中执行它,那么它就是这样的:
<Directory "www/html/INC">
Require local
</Directory>
答案 3 :(得分:2)
从Apache 2.4开始,Require
即可。
E.g。以下内容拒绝除/www/html/INC
以外的任何人访问localhost
目录:
<Directory "/www/html/INC">
Require all granted
Require ip 127.0.0.1
</Directory>
答案 4 :(得分:1)
将connect_db.php
移动到目录树中比公共目录更高的级别
和所有脚本,也不应该是可执行的。
/home/user/project/incs/
- 这是您的包容性脚本
/home/user/project/www/html
- 这是您的index.php
和其他可执行脚本。