如何隐藏 .php 文件的可访问性

如何隐藏 .php 文件的可访问性

用户可以看到 www.yourwebsite/php/config.php 文件是否正常?在我的网站中,我可以将那些文件作为文本文件访问。并且我可以看到哪些用户名或表或有关我的 Mysql 连接的一些信息。我的所有文件都位于我的 Xammp htdocs 文件夹中。当我将它们添加到某个主机时,它们是否也可见?

答案1

尝试不要将配置文件放在公共目录中。如果您的 Web 服务器上的内容在这里:

/usr/meko/htdocs/php/index.php

您可以将配置文件移出公共htdocs文件夹并将其放在此处:

/usr/meko/config/config.php

或者(不太好),您可以确保您的配置文件被视为 php 文件,然后使用 php 打开标记启动它们:

<?php

$CONFIG["foo"] = "bar";
// config here, which never echoes anything

当有人通过您的 Web 服务器通过 http 访问 php 文件时,他们只会看到空白输出。

答案2

听起来 apache 没有配置为执行你的 php 文件,而是将它们作为 test/html 提供服务。

您需要设置一个处理程序来将 php 文件作为 php 执行。

在 Linux 下,语法类似如下。在 Windows 下,需要修改路径“modules/libphp5.so”以指向 php 模块,该模块可能是 dll。

LoadModule php5_module 模块/libphp5.so AddHandler php5-script php AddType 文本/html php

http://php.net/manual/en/install.windows.apache2.phphttp://httpd.apache.org/docs/了解详情。

答案3

是的。这很正常。
不,您无法使用此地址以文本文件的形式访问这些文件(假设您的网站正常运行)

答案4

例如,任何 wordpress 安装的配置文件都在根目录中。但由于它不回显变量,因此不存在安全问题,只要将文件视为 PHP 脚本而不是文本文件即可。但通过 .htaccess 文件密码保护阻止对此类文件的直接 URL 访问是一个好主意。

相关内容