我需要创建一个可以连接到MySQL数据库的php应用程序。
目前我将数据库连接详细信息存储在connection.php
中,其中包含一个声明的类,该类负责所有数据库连接。
<?php
$username = "veer";
$password = "tiger";
?>
无论我需要建立数据库连接的哪个页面,我都会使用include_once('connection.php')
,这会建立我的数据库连接,然后继续进行正常的php
和mysql
编码。
这种方式如果有其他开发人员,那么他们也可以使用相同的方式进行DB
互动,而不知道connection.php
中的内容。
这是一种安全的方法吗?是否有更好的/替代方法来存储数据库凭证?
有人可以使用它:
<?php
include_once('http://www.abc.com/connection.php');
echo($username.' '.$password);
?>
获取用户名和密码?这是可行的。
答案 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);
?>