因为我们在 php.ini 文件中有一些自定义配置,我们显然必须将其存储在我们网站的根目录中,因此任何用户都可以看到它。
例如,我如何阻止人们通过浏览器访问它?
试着把它放在你的.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>
一种方法是在 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>' );
}
/*****************************************************************************/