我在php文件上创建了与数据库服务器建立连接。在此文件中,我使用mysql_connect()
函数,其中包含数据库服务器的主机,用户名和密码。
public class DatabaseConnect
{
function __construct()
{
mysql_connect('localhost','username','password') or die('Could not connect to mysql server.');
mysql_select_db('databasename');
}
}
现在在这种情况下,其他人可以看到用户名和密码。
我找到了另一种保护价值的方法,即mysql.default_user
和mysql.default_password
。在哪种情况下我们必须这样做?
或者我如何从别人那里获得价值?
答案 0 :(得分:10)
您可以尝试将数据库凭据放在具有适当UNIX权限集的单独文件中,例如644,然后将此文件包含在脚本之上。
configuration.php
文件如下所示:
<?php
define (DB_USER, "mysql_user");
define (DB_PASSWORD, "mysql_password");
define (DB_DATABASE, "database_name");
define (DB_HOST, "localhost");
?>
您的原始脚本将如下所示:
require ("configuration.php");
public class DatabaseConnect
{
function __construct()
{
mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die('Could not connect to MySQL server.');
mysql_select_db(DB_DATABASE);
}
}
答案 1 :(得分:5)
现在在这种情况下,其他人可以看到用户名和密码。
仅限可以访问源代码的用户。这应该不是问题。但是,如果要分离代码和数据库凭据,请确保配置文件位于Web根目录之外。