gpt4 book ai didi

php - 在哪里存储 PHP 应用程序的数据库登录凭据

转载 作者:IT王子 更新时间:2023-10-29 00:03:47 25 4
gpt4 key购买 nike

我们有一个开发服务器和一个具有不同数据库连接详细信息(用户名、密码等)的实时服务器。

目前我们在 initial.php 中存储数据库连接详细信息,如果存在 DEFINE 语句,则会选择其中一个。我们在我们的实时服务器上手动添加该 DEFINE 语句。

这是一种安全的方法吗?管理数据库连接安全性的更好/替代方法是什么?

这样做的一个结果是每个开发人员都可以看到数据库连接的详细信息,这有点冒险......

最佳答案

我使用 .ini 文件,然后通过 parse_ini_file(INI_FILENAME_HERE, true) 对其进行解析.此文件不受版本控制(与 php-/template-/whatever-files 一样)。因此,我在每台机器上为各自的数据库连接创建该文件 (.database.ini)。

MySQL 连接的 .ini 文件示例,使用 PDO:

[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

因为不能在 .ini-file-keys 中使用 ::,所以在你的代码中使用 constant('PDO::' . $iniKey) 来获取所需的 PDO 常量。

关于php - 在哪里存储 PHP 应用程序的数据库登录凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com