2015-10-27 25 views
1

我正在为WordPress编写一个表单生成器和处理插件。为了帮助防止垃圾邮件注册,我选择让用户在主注册页面上输入所有信息。然后在提交之后,他们将在确认页面实际注册并放入数据库之前查看其信息。PHP短期密码内存

我的问题是,在确认并完成注册过程之前,用户在短时间内检查其信息的最安全方式是存储用户密码服务器端的方式。

当前我将所有用户的数据放入会话变量,然后在成功注册时处理变量。将密码保存在会话中是安全的吗,还是应该在页面上创建一个隐藏的表单域来存储密码?

谢谢。

回答

3

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

会话变量没有什么问题,如果你想进一步说明一下,如果你在检查/验证后不需要密码,就把它散列,然后把散列存储在会话中,而不是明文密码。如果您将其保存为一个哈希值,并且只持续(在一个已经相对安全方式)为一分钟左右,直到客户完成您的UX过程,那么你取消它再次您发送后您数据库,没有问题。

裸记住,会话变量生活的服务器,而不是在客户端上,所以他们对安全的,因为你是在为你的系统保护的任何其他信息。这与您将密码存储在HTML中的隐藏字段(这是客户端且易受攻击)相反。

+0

谢谢你的建议。我将密码散列存储在会话变量中。 –