php用户密码 怎么加密存储,php – 密码加密,会话中存储密码

由于存储密码是不打算的,而且还需要重新输入密码多次也是不可取的,唯一的解决方案是这样的:

>使用足够长度的随机密钥加密密码(使用例如AES)

>将加密的密码和用户名存储在会话中

>加密用户名和邮件服务器也可能是错误的,以防万一。它不会受到伤害,而假定的攻击者在服务器上没有已知的用户名。

>将加密密钥存储在cookie中

这不是完美的,但它应该工作得很好,它可能是一个很好的权衡,你可以得到。

对于每个请求,用户的浏览器将发送cookie,PHP脚本可以使用cookie解密存储在会话中的数据,并在IMAP / POP服务器上执行请求。

有人利用您的服务器并访问会话存储将能够窃取加密的密码,但如果随机密钥的长度和随机质量都很好,这是非常徒劳的。

关键是,你只能真正保护一些你不知道的秘密。如果您有必要的信息来解密服务器上的一些信息(在这种情况下为IMAP密码),例如在会话存储中,那么利用服务器的每个人都可以这样做。无论加密程度如何,没有任何区别。

确保秘密保密的唯一方法是使用您不知道的东西进行加密,只有用户(或在这种情况下是用户的浏览器)才知道。

这导致了无法解决的问题,在某个时间点,你显然必须知道,至少要几分之一秒。这是接收cookie的Web服务器和退出的PHP脚本之间的时间。在理论上,如果有人访问root的人在那段时间里读过程记忆,他也会知道这个秘密。但唉,那是你真的无法预料的。

只要信息永远不会存储在任何地方(甚至在会话中),它应该是相当安全的。

当然,所有这些都假设至少您网站上的登录页面(最好是所有)通过https://提供,并且您使用TLS / SSL与邮件服务器进行通信。否则,你可以进行更多的微不足道的攻击。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值