php - 在 session 中存储密码是否安全?

标签 php security session encryption

我需要在 session 中经常使用密码。我正在使用由密码加密的 key 来加密我的用户数据。所以这是我的问题。在 php session 中存储 纯文本 密码是否安全(不是 cookie,所以不是客户端)?有没有更好的办法?或者我应该每次都询问我的用户密码?

我使用 phpseclib 使用用户密码加密 rsa 的私钥。每次我想访问 key 时,我都需要密码。我有两个选择:要么存储密码,要么存储 key ,我认为两者都不太好。我不能使用 passwordhash 进行加密,因为哈希存储在数据库中的“明文”中...

最佳答案

在任何地方以任何容量保存明文密码通常不是一个好主意。 session 本身是安全的,但仅与服务器环境的其余部分一样安全。管理员或其他合法和恶意用户都可以访问存储在其上的数据。如果可以避免,您永远不想处理客户的 secret ;这也意味着您希望避免在任何情况下看到用户的密码,并且您应该以明文密码在技术上尽可能短的方式构建代码。

如果您需要在 session 期间使用密码,您应该构建您的应用程序,使其从不使用明文密码,而是使用 key derivation function 从密码中导出 key ,然后将其用于敏感任务。这样,暴露用户密码的机会就会少很多。请记住,用户拥有的唯一安全措施是他的密码保密,只有他应该知道。

关于php - 在 session 中存储密码是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594202/

相关文章:

php - 在 Symfony2 中创建数据库

c# - 在忘记密码过程中显示电子邮件地址是否安全?

security - Symfony - 了解 super 管理员

python - 使用 Flask/heroku session 总是空的

JSP Session.getAttribute() 值返回 null

php - 如何将PHP应用程序连接到数据库

php - Apache没有html文件夹的写权限

android - Android 权限以什么顺序显示?

session - DNN 5.x 中的注销如何工作?

php - 动态特色图片