PHP文件上的密码数据库

时间:2016-01-18 10:54:48

标签: php passwords

快速提问!这是我的第一个WEB应用程序...... 是否可以安全地将密码保存在PHP文件中,或者有一种方法可以保护/隐藏它?

谢谢

的Davide

3 个答案:

答案 0 :(得分:1)

不,在任何地方都可以看到密码是不安全或不好的做法。即使您/开发人员不应该知道除用户之外的密码。

使用哈希加密密码,sha256 / sha512被认为是散列的最佳算法。

答案 1 :(得分:1)

存储密码存在不同的情况,无法以相同的方式处理。

  1. 安全性最差的情况是,当您需要密码稍后以明文获取其他服务时。从您的评论中我可以看到这是您的情况,您需要存储数据库登录凭据。您无能为力,但将密码存储在单独的包含文件中,并将其置于根目录之上。
  2. 如果您的应用需要存储修复密码仅用于验证,则情况会好一些。然后你可以存储密码的哈希值,所以即使有人可以阅读你的代码,他也不知道明文密码。此案例的一个示例是带有HTTP-auth的受保护目录。
  3. 最好的情况是您必须存储用户密码。然后应该绝对计算密码的哈希值,以便除了用户之外没有人知道(或可以检索)密码。推荐的算法是BCrypt,PBKDF2和SCrypt(参见password_hash())。永远不要使用MD5或SHA- *因为它们太快而且太容易暴力破解。
  4. 我在答案中包含了三个案例,因为迟早你肯定会偶然发现其他案件。

答案 2 :(得分:0)

不,你必须始终考虑安全性。如果密码以纯文本格式存储,如果攻击者获得对数据库的访问权限会怎样?他可以轻松读取所有用户的密码。这就是为什么我们使用一种称为密码散列的技术来防止攻击者获取用户密码。

使用md5()php函数来保护您的密码。

$password = md5($password);