MySQL 凭据/主机变量最佳实践

标签 mysql variables mysql-connect

我想知道在为 MySQL 凭据/主机创建变量时最佳做法或建议做什么。

    define('HOST', 'localhost');
    // etc..
   mysql_connect(HOST, // etc...

    $host = 'localhost';
    // etc..
   mysql_connect($host, // etc...

对于两者,您都可以轻松检查声明的变量或常量是什么,也许可以轻松找到值是什么。我有多个用户可以共享和使用的代码。

保护这些变量的最佳方法是什么?

最佳答案

这里有几个解决方案

1)您给每个用户一个用户名和密码,每个用户在数据库中都有他们的权限(仅选择或插入等)。因此,在您的代码中,您只需包含一个 db.config.php 以便设置所有变量。用户是否回显变量并不重要,因为他们使用自己的变量。

2) 您可以为数据库提供一个通用的用户名/密码,然后对文件进行编码(使用 custom encoding 、zend 优化器或 ioncube 并取消设置变量。这是一个示例代码:

// file mysql_connect.php

$link = mysql_connect("localhost", "mysql_user", "mysql_password")
    or die("cannot connect to database : " . mysql_error());

// then this file is encoded so nobody can view it.

3) 在某个时候,有人会以某种方式找到这些信息。我只是建议信任您的用户(假设这些是开发人员)

关于MySQL 凭据/主机变量最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7815025/

相关文章:

mysql - Laravel 迁移与关系

MySQL 查询在不同版本中不起作用

mysql - MYSQL 查询中的 REGEX 查找字符串

c++ - 到处使用 std::size_t 是一种好习惯吗?

mysql - Windows 7 PHP MySQL 连接问题

mysql - 如何根据 MySQL 中的当前值更新字段?

C:无法理解该程序中的指针

Perl:CGI 和 DBI 模块的变量范围问题

php - 无法将mysql_connect识别为功能/PHP,未在Apache中连接到MySQL

php - 我需要关心 mysql_connect 中的密码吗?