首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP和安全性中存储数据库凭据

在PHP和安全性中存储数据库凭据
EN

Stack Overflow用户
提问于 2012-01-30 16:21:09
回答 2查看 2.9K关注 0票数 0

可能重复:

Is it ever ok to store password in plain text in a php variable or php constant?

我过去常常将db凭据存储在PHP文件中,如下所示:

代码语言:javascript
复制
<?php
    define('HOST', 'localhost');
    define('USER', 'db_user');
    define('PASS', 'user_pass');
    define('DB', 'database');
?>

我使用常量,但在最近的一个项目中,一个PHP程序员说将db凭据存储到常量中是不安全的。我还是不明白。我试着找些信息,但没人对此一言不发。

将db凭据存储到PHP常量中是否存在安全风险?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-30 16:27:21

唯一的风险是如果您在文档根下有这些定义。在这种情况下,如果服务器配置出现问题,而且人们可以看到PHP代码,则会公开常量(因此是数据库凭据)。

最安全的方法(据我所知)是将凭据作为仅限于root的服务器环境的一部分。然后,开发人员可以使用_SERVER['db_user']等。这可能更安全,因为访问实际DB凭据的人员更加有限。它还为您提供了根据服务器使用不同凭据的灵活性(例如,开发与生产)。但是,您可以看到phpinfo()var_dump($_SERVER)等所有服务器环境变量,因此您必须注意不要上传这些内容。

票数 3
EN

Stack Overflow用户

发布于 2012-01-30 16:25:25

将db凭据存储到PHP常数中是否存在安全风险?

存储重要信息总是存在一些风险,比如数据库的用户名和密码。

但我无法想象,使用常量比使用变量更有安全风险。

然而,一个潜在的风险是,配置是用代码编写的。所以它并不是静态的。使用不需要自己执行的配置文件可能更安全。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9067088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档