有人可以从我的服务器外访问我的数据库吗?

时间:2012-04-22 17:14:50

标签: php database security

我试图“google hack”我的网站看看发生了什么(我最近读过这篇文章),我用Google搜索site:www.x.com intitle:"index of" "server at" + db

在三个目录中找到了.inc文件。

<?php 
    class clsSettings
    { 
        var $site   = "localhost"; 
        var $sitedb = "x"; 
        var $siteuser = "x"; 
        var $sitepass     = "x";
    } /* settings */
?>

有人可以从我的服务器外部访问我的数据库吗?

我是否应该担心此敏感信息?

注意:我使用X s删除了敏感信息。

2 个答案:

答案 0 :(得分:3)

这就是为什么你没有为.php以外的任何名称命名PHP文件。您可以将服务器配置为根据需要将.inc文件或任何文件扩展名解析为PHP,但这不是常见配置,尤其是在共享服务器上。

如果您可以看到包含密码的文件内容,那么世界其他地方也可以。此外,Aziz关于更改robots.txt的评论确实可以帮助您。事实上,你可以通过这种方式引起对你隐藏的事情的注意,因为任何试图进入你网站的人都不会遵守robots.txt中的规则。

除非您出于某些特定原因需要,否则通常不允许自动目录索引。

答案 1 :(得分:1)

我相信您通过将文件扩展名重命名为.php来解决此问题。

在服务器上使用新密码执行此命令(即通过SSH):

mysqladmin -u root -p 'oldpassword' password newpass

然后更改所有引用的PHP文件的密码。

此外,您可能需要创建一个“机器人陷阱”来停止不遵循robots.txt文件的机器人,有关详细信息,请参阅http://www.fleiner.com/bots/#trap。但请注意,这是一个弱保护措施。

此外,您可以将其添加到WWW根目录中的.htaccess以停止目录列表:

Options -Indexes