mysql connect - 应该用户名/密码进行硬编码吗?

时间:2011-08-20 21:53:46

标签: php mysql database security

我是一名iPhone开发人员,我刚刚开始使用PHP& mysql(为他人制作网站,为我的应用制作网络服务)。

每当我将用户名和密码硬编码到PHP文件中以连接到数据库时,我感觉有点奇怪。例如:

$con = mysql_connect('localhost:8888','root','password');

如果我必须向任何人展示代码,我觉得这有点尴尬。

  • 这是安全还是良好的做法?
  • 我还有其他方法可以连接数据库吗?

我将非常感谢有关此问题的任何建议。

2 个答案:

答案 0 :(得分:6)

对于要重新分发的脚本,最好将它们组合在一起,并将它们作为常量或变量。

的config.php

<?PHP
define('DBHOST', 'localhost');
define('DBPORT', '8080');
define('DBNAME', 'my_db_name');
define('DBUSER', 'root');
define('DBPASS', 'password');

db.php中

<PHP
include('config.php');
$con = mysql_connect(DBHOST.':'. DBPORT,DBUSER,DBPASS);
mysql_select_db(DBNAME, $con);

这样做可以让人们在将来更容易进行更改,而不必通过代码搜索来查找连接的位置等。

为了更好的安全性,config.php脚本可以放在doc root之外,这样就不能直接调用它。

答案 1 :(得分:2)

我从未将登录信息硬编码到PHP代码中。我总是将它放在一个单独的文件中,该文件包含在实际的PHP代码文件中。这样您就不需要向任何人显示登录数据。如果有人试图欺骗网络服务器,那么让文件稍微难以获取。