10

我在 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_usermysql.default_password. 在哪种情况下我们必须这样?

或者我怎样才能从别人那里获得我的价值观?

4

2 回答 2

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);
}

}
于 2013-02-19T08:26:46.480 回答
5

现在在这种情况下,用户名和密码对其他人可见。

只有那些有权访问您的源代码的人。这应该不是问题。但是,如果您想将代码和数据库凭据分开,请确保配置文件位于 Web 根目录之外。

于 2013-02-19T08:24:04.290 回答