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

Ale*_*lan 6 php mysql database security

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

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

$con = mysql_connect('localhost:8888','root','password');
Run Code Online (Sandbox Code Playgroud)

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

  • 这是安全还是良好的做法?
  • 还有另一种方法我应该连接到数据库吗?

对于与此问题相关的任何建议,我将非常感激.

Pet*_*ter 6

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

config.php文件

<?PHP
define('DBHOST', 'localhost');
define('DBPORT', '8080');
define('DBNAME', 'my_db_name');
define('DBUSER', 'root');
define('DBPASS', 'password');
Run Code Online (Sandbox Code Playgroud)

db.php中

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

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

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