PHP 短期密码记忆

PHP Short Term Password Memory

我正在为 WordPress 编写表单生成器和处理插件。为了帮助打击垃圾邮件注册,我选择让用户在主注册页面上输入他们的所有信息。然后在提交后,他们将转到确认页面以在实际注册并放入数据库之前查看他们的信息。

我的问题是,对于用户在确认和完成注册过程之前查看其信息的短时间而言,在服务器端存储用户密码的最安全方式是什么。

目前我是把所有用户的数据都放到一个session变量中,然后在注册成功后对变量进行处理。将密码保存在会话中是否安全,还是我应该在页面上创建一个隐藏的表单字段来存储密码?

谢谢。

除了在页面上直观显示外,使用隐藏字段可能是最糟糕的选择。

会话变量没有任何问题,如果您想更进一步,您可以说,如果您在 checked/validated 之后不需要密码,请对其进行散列,然后将散列存储在会话而不是明文密码。如果您将它存储为散列,并且它只持续(以已经 相对 安全的方式)一分钟左右,直到客户完成您的 UX 流程,那么您 将其发送到数据库后再次取消设置,没有问题。

请记住,会话变量存在于服务器上,而不是客户端上,因此它们与您在系统中保护的任何其他信息一样安全。这与您将密码存储在 HTML 的隐藏字段中相反,这是客户端并且容易受到攻击。