php - 保护数据库连接字符串的最佳方法是什么?

标签 php database linux security connection-string

我正在用 PHP 编写一组数据库驱动的应用程序。这些应用程序将作为自己的用户在 Linux 服务器上运行。其他用户有时可能会在系统上,但访问权限受到严格控制。他们根本无法访问其他服务器。我还将向需要编写使用 DBI 和我编写的一组函数访问数据库的 Perl 脚本的开发人员公开一个限制存储过程 API。

我的问题是保护包含连接字符串的配置文件的最佳方式是什么?

对文件具有 [4+]00 权限的其他用户是否足够?我应该加密它们吗?这似乎只是将问题转移到别处,所以我担心在哪里存储加密 key 。我意识到 Perl 开发人员需要有自己的连接字符串,因为他们只有执行数据库权限。

最佳答案

如果机器真的以传统的 Unix 方式进行管理,其中 J. Random 用户不会一直关闭 su-ing 到 root,我会说文件系统权限是你最好的选择。如果有人获得未经授权的 root 访问权限,再多的愚蠢加密也无法“保护”连接字符串。

我会将带有连接字符串的文件标记为“脚本用户”所有,并按照您的描述授予他们访问权限。

(在这个例子中,意识到加密连接字符串不会给你带来任何好处,真是太棒了。通过默默无闻的安全性会适得其反。)

关于php - 保护数据库连接字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/334776/

相关文章:

php - sql连接等于数组

sql - B-Tree 与 Bitmap 数据库索引

连接到 SQLITE 数据库的 PHP PDO

node.js - Jenkins "Provide Node & npm bin/folder to PATH"为空

php - 我在 zend framework1 上提交表单时如何传递消息

java - 不同域的登录系统

php - my_config.ini 与 my_config.php

SQL 2005 - 多次指定该列

linux - 带有 setuid 二进制文件的 LD_PRELOAD

linux - vim 的颜色方案适用于白蚁,不适用于 urxvt