MySQL凭证/托管变量最佳实践

Pat*_*ery 25 mysql variables mysql-connect

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

    define('HOST', 'localhost');
    // etc..
   mysql_connect(HOST, // etc...
Run Code Online (Sandbox Code Playgroud)

VS

    $host = 'localhost';
    // etc..
   mysql_connect($host, // etc...
Run Code Online (Sandbox Code Playgroud)

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

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

Boo*_*eus 31

这里有一些解决方案

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

2)您可以为数据库提供一个通用的用户名/通行证,然后对文件进行编码(使用自定义编码,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.
Run Code Online (Sandbox Code Playgroud)

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