使用.htaccess拒绝用户访问php.ini文件

时间:2013-03-01 14:42:06

标签: apache .htaccess

因为我们在php.ini文件中有一些自定义配置,所以我们显然必须将它存储在我们网站的根目录中。因此任何用户都能看到它。

我如何阻止人们通过他们的浏览器访问它?

2 个答案:

答案 0 :(得分:5)

尝试将其放入.htaccess

<FilesMatch "php.ini">
    Order allow,deny
    Deny from all
</FilesMatch>

它拒绝任何试图访问php.ini的人访问。

编辑:在Apache 2.4中不推荐使用Allow和Order。您应该使用Require all denied代替。

<FilesMatch "php.ini">
    Require all denied
</FilesMatch>

答案 1 :(得分:1)

一种方法是在php.ini文件的开头插入类似的东西:

/***************DO NOT ALLOW DIRECT ACCESS************************************/
if ( (strpos( strtolower( $_SERVER[ 'SCRIPT_NAME' ] ), strtolower( basename( __FILE__ ) ) ) ) !== FALSE ) { // TRUE if the script's file name is found in the URL
  header( 'HTTP/1.0 403 Forbidden' );
  die( '<h2>Forbidden! Access to this page is forbidden.</h2>' );
}
/*****************************************************************************/