sil*_*npi 19 php database security connection
我们有一个开发服务器和一个具有不同数据库连接详细信息(用户名,密码等)的实时服务器.
目前,我们将数据库连接详细信息存储在initial.php中,如果存在DEFINE语句,则选择一个.我们在我们的实时服务器上手动添加DEFINE语句.
这是一种安全的方法吗?有哪些更好的/替代方法来管理数据库连接安全性?
这样做的一个结果是每个开发人员都可以看到数据库连接的详细信息,这有点风险......
fee*_*ela 12
我使用.ini文件,然后通过解析parse_ini_file(INI_FILENAME_HERE, true).此文件不受版本控制(如php-/template-/whatever-files).因此,在每台机器上,我为相应的数据库连接创建该文件(.database.ini).
使用PDO的MySQL连接示例.ini文件:
[db_general]
driver = "mysql"
user = "USERNAME"
password = "PASSWORD"
; DSN
; see http://www.php.net/manual/en/pdo.drivers.php
[db_data_source_name]
host = "localhost"
port = 3306
dbname = "DATABASE_NAME"
; specify PDO-options, provide keys without PDO::
; see http://www.php.net/manual/en/pdo.drivers.php
[db_pdo_options]
MYSQL_ATTR_INIT_COMMAND = "SET NAMES utf8"
; specify more PDO-attributes, provide keys without PDO::
; see http://php.net/manual/en/pdo.setattribute.php
[db_pdo_attributes]
ATTR_CASE = "PDO::CASE_LOWER"
ATTR_ERRMODE = "PDO::ERRMODE_EXCEPTION"
ATTR_EMULATE_PREPARES = false
Run Code Online (Sandbox Code Playgroud)
由于无法::在.ini文件密钥中使用constant('PDO::' . $iniKey),因此请在代码中使用以获取所需的PDO常量.
| 归档时间: |
|
| 查看次数: |
8559 次 |
| 最近记录: |