4

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

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

4

2 回答 2

6

试着把它放在你的.htaccess

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

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

编辑:Allow 和 Order 在 Apache 2.4 中已弃用。你应该Require all denied改用。

<FilesMatch "php.ini">
    Require all denied
</FilesMatch>
于 2013-03-01T16:12:41.010 回答
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>' );
}
/*****************************************************************************/
于 2013-03-01T15:32:31.630 回答