使用.htaccess阻止访问文件和子目录?

时间:2012-11-16 08:41:59

标签: php .htaccess

我的目录中有近30个php文件,4个子目录。我想在http://bhavani.com/hai.php

这样的直接查看中阻止来自用户的一些php文件和子目录

我的当前htaccess档案

## Enable Mod Rewrite, this is only required once in each .htaccess file
RewriteEngine On 
RewriteBase / 
## Test for access to includes directory
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /includes/ .*$ [NC] 
## Test that file requested has php extension 
RewriteCond %{REQUEST_FILENAME} ^.+\.php$ 
## Forbid Access 
RewriteRule .* - [F,NS,L]

怎么做?

3 个答案:

答案 0 :(得分:5)

您可以像这样过滤

文件
<Files ~ "\.php$">
  Deny from all
</Files>

和这样的目录

<Directory "/subdirectory">
  Deny from all
</Directory>

答案 1 :(得分:5)

您无需mod_rewrite即可完成此操作。更简单的方法是使用RedirectMatch的{​​{1}}指令:

mod_alias

这会自动响应RedirectMatch 403 ^.*/include/*\.php$ 403 Forbidden子目录中任何PHP文件的直接请求,但是你仍然能够从其他php文件中include。{/ p>

答案 2 :(得分:0)

我认为你只能在没有RewriteCond的情况下使用RewriteRule 例如: RewriteRule ^/hai\.php - [F, NS, L] 此规则禁止访问文件hai.php 对于其他文件,您可以使用其他规则或使用掩码。