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

标签 php mysql database security

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

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

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

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

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

如果有任何与此问题相关的建议,我将不胜感激。

最佳答案

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

配置.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 脚本放在文档根目录之外,这样就不能直接调用它。

关于php - mysql connect - 用户名/密码应该硬编码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7134934/

相关文章:

node.js - MongoDB : querying documents with two equal fields, $match 和 $eq

javascript - 更新值时出错

php - 我的 CodeIgniter SQL 简单查询有什么问题?

php - 输入数据从 'A' 表中获取数据,然后用数据检查 'B' 表,然后当数据不在 'B' 表中时显示数据

mysql - 如何确保数据库的互操作性

php - 一条语句中的多个 SQL 查询

javascript - 使用前端表单/输入框和 ajax 更新帖子元,无需重新加载页面

php - Sphinx 返回错误的文档 ID

php - MySQL 查询适用于 mysqlworkbench 但不适用于 php 环境

SAN环境下MySQL I/O调优