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

问题描述 投票:0回答:3

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

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

apache .htaccess
3个回答
7
投票

尝试将其放入您的

.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>

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>' );
}
/*****************************************************************************/

0
投票

我在 OpenLiteSpeed 服务器上遇到了同样的问题。以下代码放在

.htaccess
中为我修复了它。

RewriteRule ^.*\.(ini)$ - [F,L]

来源:https://community.cyberpanel.net/t/wordpress-on-cyberpanel-wordfencescan-publicly-accessible-file-found-user-ini/16477/14

© www.soinside.com 2019 - 2024. All rights reserved.