首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中存储密码最安全的方式是什么?

问在PHP中存储密码最安全的方式是什么?
EN

Stack Overflow用户
提问于 2012-06-07 08:37:10
回答 2查看 410关注 0票数 0

在PHP中存储密码最安全的方法是什么?我非常有兴趣在使用我的应用程序时保护我的用户,我希望使用尽可能好的方法来存储他们的密码。我读了一些关于各种加密方法的资料,比如MD5、SHA1等。我还读了一些关于“盐”和哈希的资料。有人能告诉我在PHP中存储密码的最安全的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-07 09:16:24

在将您的密码存储到数据库中之前,请先对其进行Sha和salt。在任何情况下,您都不能以明文形式存储密码。散列后丢弃明文密码。

还可以使用会话变量来存储和跟踪用户会话。不要使用cookies,因为这些cookies存储在浏览器上,很容易受到攻击。

有一个好的密码策略。至少要确保每个密码都有一个最小长度,不是字典中的单词,不全是数字,并且是大小写和或大小写的混合,中间数字混合。等。Google object password策略会出现很多问题。

票数 1
EN

Stack Overflow用户

发布于 2012-06-07 09:04:59

以任何形式的散列存储密码都不会保护你的系统,但如果你的系统被攻破,它将防止人们看到明文密码。安全性来自良好的监控和良好的实践。

Microsoft有这样的观点:

许多

应用程序使用密码机制对用户进行身份验证,用户在HTML表单中提供用户名和密码。这里要考虑的问题和问题包括:

  • Are用户名和密码以明文形式通过不安全的通道发送?如果是这样,攻击者可以使用网络监控软件窃听以捕获凭据。这里的对策是使用安全套接字层(SSL).
  • How保护通信通道是否存储凭据?如果您以明文形式存储用户名和密码,无论是在文件中还是在数据库中,您都是在招致麻烦。如果您的应用程序目录配置不正确,并且攻击者浏览到该文件并下载其内容或添加新的特权登录帐户,该怎么办?如果心怀不满的管理员窃取了您的用户名和密码数据库怎么办?
  • How凭据是否经过验证?如果唯一的目的是验证用户是否知道密码值,则无需存储用户密码。相反,您可以以哈希值的形式存储验证器,并在登录过程中使用用户提供的值重新计算哈希。要减轻针对凭据存储区的字典攻击的威胁,请使用强密码,并将随机生成的Salt值与密码哈希组合在一起。cookie是在首次登录后标识的经过身份验证的用户-需要某种形式的身份验证票证,例如身份验证cookie。cookie是如何保护的?如果它是通过不安全的通道发送的,攻击者就可以捕获cookie并使用它来访问应用程序。被盗的身份验证cookie就是被盗的登录名。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10924216

复制
相关文章

相似问题

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