我使用 dbinfo.php 输入我所有的 MySQL 详细信息:数据库名称、用户名、密码、主机等。然后每当我想连接到数据库时,我只使用 include "dbinfo.php"; 在那个页面上。
如果有人发现了 dbinfo.php,该人不应该能够简单地将其包含在他的代码中以连接到我的数据库,然后在我的数据库中存储不同的查询/删除内容吗?
我对此有点陌生,但使用单独的文件进行连接感觉有点不安全。请让我知道它是否不好。
我使用 dbinfo.php 输入我所有的 MySQL 详细信息:数据库名称、用户名、密码、主机等。然后每当我想连接到数据库时,我只使用 include "dbinfo.php"; 在那个页面上。
如果有人发现了 dbinfo.php,该人不应该能够简单地将其包含在他的代码中以连接到我的数据库,然后在我的数据库中存储不同的查询/删除内容吗?
我对此有点陌生,但使用单独的文件进行连接感觉有点不安全。请让我知道它是否不好。
从那以后我就一直这样使用它。我通常只是将扩展文件从 *.php 更改为 *.inc 但这只是为了我自己的组织。为了安全起见,您甚至可以将文件保存在服务器上受保护的文件夹中。
我用以下代码调用我的文件:
require_once('_system/inc/_db_connection.inc');
阅读一下 require_once 和 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();
}
您的设置没有什么特别不安全的地方。该信息仅在服务器上公开,您必须假设它是安全的。您必须担心的是客户端黑客攻击。