拒绝访问除服务器本身之外的.php文件

时间:2013-12-05 06:38:12

标签: php .htaccess

如何编写.htaccess脚本,阻止用户在某个目录及其子目录中运行.php文件?

我需要能够从服务器index.php或其他文件中包含php文件,但基本上我想启用服务器来包含来自某个目录的php文件但是,如果用户是输入特定的URL,它将拒绝访问。

2 个答案:

答案 0 :(得分:1)

这可以解决问题

<FilesMatch "\.php$">
   Deny from all
<FilesMatch>

另外,请参阅此问题的答案:Deny direct access to all .php files except index.php

答案 1 :(得分:0)

我通常做这样的事情:

如果我希望用户访问文件,请说出members.phpindex.php

<?php
    $GLOBAL_PAGE="page name"; //set the 'visible' flag
    include_once 'headers.php'
...
?>

headers.php

<?php
     if(!page_is_authorized($GLOBAL_PAGE))
         //redirect to a valid page
         header( 'Location: index.php' );
     ....
?>

其中page_is_authorized($s)针对有效值列表检查$s

我知道这并没有按照您的要求使用.htaccess规则,但我通常无权访问该文件。它也是便携式的!