使用单独的文件连接到MySQL-缺点是什么?

使用单独的文件连接到MySQL-缺点是什么?,mysql,Mysql,我使用dbinfo.php输入我的所有MySQL详细信息:db名称、用户名、密码、主机等。然后,每当我想连接到数据库时,我只使用“dbinfo.php”;在那一页上 如果有人发现了dbinfo.php,那么这个人不应该简单地将它包含在他的代码中,连接到我的数据库,然后在我的数据库中存储不同的查询/删除内容吗 我对此有点陌生,但使用单独的文件进行连接感觉有点不安全。如果它不好,请告诉我。从那以后我就一直这样使用它。我通常只是将扩展名文件从*.php更改为*.inc,但这仅适用于我自己的组织。 为了

我使用dbinfo.php输入我的所有MySQL详细信息:db名称、用户名、密码、主机等。然后,每当我想连接到数据库时,我只使用“dbinfo.php”;在那一页上

如果有人发现了dbinfo.php,那么这个人不应该简单地将它包含在他的代码中,连接到我的数据库,然后在我的数据库中存储不同的查询/删除内容吗


我对此有点陌生,但使用单独的文件进行连接感觉有点不安全。如果它不好,请告诉我。

从那以后我就一直这样使用它。我通常只是将扩展名文件从*.php更改为*.inc,但这仅适用于我自己的组织。 为了安全起见,您甚至可以将文件保存在服务器上受保护的文件夹中

我使用以下类似的代码调用我的文件:

require_once('_system/inc/_db_connection.inc');
阅读一下require_和include之间的区别

如果要阻止用户直接访问您的文件:

// Redirects the user when trying to access this file.
if(preg_match('/_db_connection.inc/i', $_SERVER['PHP_SELF']) ) {
    header('location: http://www.something.com');
    die();
}

您的设置没有特别不安全的地方。该信息仅在服务器上公开,您必须假定该服务器是安全的。您必须担心的是客户端黑客攻击。

好的。我只是想,既然我可以把这个文件放在我的任何一页上,也许其他人也可以?包括“;然后通过php脚本删除表-但是我对这一点还不熟悉,所以也许你是对的。任何有能力编写一个可以包含你的文件的程序的人都已经拥有特权,如果他真的想破坏你的安全性,他可能会破坏你的安全。他不是你应该担心的人。谢谢你的意见。我最初将它保存为一个inc文件,但注意到它在我的主机上是一个可执行的文件(其他人可以简单地转到dbinfo.inc并将该文件视为txt文件)。。。您需要对.htaccess文件进行一些变通。。。或者使用保护代码。。。不过还是要坚持使用*.php,这样你就不需要使用那么多胶带来节省时间了