用户可以看到 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.php和http://httpd.apache.org/docs/了解详情。
答案3
是的。这很正常。
不,您无法使用此地址以文本文件的形式访问这些文件(假设您的网站正常运行)
答案4
例如,任何 wordpress 安装的配置文件都在根目录中。但由于它不回显变量,因此不存在安全问题,只要将文件视为 PHP 脚本而不是文本文件即可。但通过 .htaccess 文件密码保护阻止对此类文件的直接 URL 访问是一个好主意。