存储PHP网页的数据库登录凭据的最佳方法

时间:2014-01-07 11:26:56

标签: php mysql database

我需要创建一个可以连接到MySQL数据库的php应用程序。

目前我将数据库连接详细信息存储在connection.php中,其中包含一个声明的类,该类负责所有数据库连接。

<?php
     $username = "veer";
     $password = "tiger";
?>

无论我需要建立数据库连接的哪个页面,我都会使用include_once('connection.php'),这会建立我的数据库连接,然后继续进行正常的phpmysql编码。

这种方式如果有其他开发人员,那么他们也可以使用相同的方式进行DB互动,而不知道connection.php中的内容。

这是一种安全的方法吗?是否有更好的/替代方法来存储数据库凭证?

有人可以使用它:

<?php
include_once('http://www.abc.com/connection.php');
echo($username.' '.$password);
?>

获取用户名和密码?这是可行的。

3 个答案:

答案 0 :(得分:2)

我使用了一些框架,如Yii,CodeIgniter和Django,它们都以纯文本形式存储数据库连接。例如,Yii位于protected / config / main.php下。因此从理论上讲,以这种方式存储凭证是安全的。当然你可以采取更多的措施,比如Yii使用.htaccess来拒绝对受保护文件夹的所有访问(因此名称受保护)

在理想的世界中,只有您(和您的同事)才能访问此文件。

答案 1 :(得分:-1)

安全的方式?模糊db用户名和密码。缺点很明显。

答案 2 :(得分:-4)

如果开发人员可以包含该文件,他可以阅读它并找出您的MySQL连接详细信息。 因此,最好将MySQL连接详细信息存储在不同的文件中。

使用您的数据库凭据创建新文件config.php。然后包括你需要的任何东西。

示例:

<?php
require('config.php');
include_once('http://www.abc.com/connection.php');
echo($username.' '.$password);
?>