隐藏表单元素密码安全


Hidden Form Element Password Safety

我有一个表单,它必须在两个页面之间传递数据。

在第1页上,用户填写了一些详细信息。第2页为他们提供了一个确认屏幕,他们可以同意,也可以返回并编辑自己的详细信息。

在第2页上,第1页中的值存储在隐藏的表单字段中。

例如

<input type="hidden" name="user_email" value="email@test.com" />

当用户在第2页点击提交时,会运行一些PHP代码,并将它们添加到网站中。

在第1页,用户输入了密码,我关心的是如何在第2页处理这个问题。我不认为在隐藏形式字段中输出它是个好主意。运行的PHP无论如何都会对这个密码进行散列,所以我想在第1页和第2页之间进行散列,这样隐藏的表单字段的值就是散列版本,而不是纯文本。有没有更好的方法可以让我做到这一点?

使用会话变量来存储这些信息,永远不要将其作为隐藏的表单字段传递回页面。$_SESSION

将插入第1页的数据输入到具有唯一哈希的数据库表(称为pending_user_register或其他什么)中(不要只使用唯一ID),然后在隐藏文本字段中引用唯一哈希?

或者走简单的路线,使用$_SESSION。

或者,使用上面的方法,但不要将其隐藏在$_SESSION中。

您可以使用password_hash(),并可以将密码存储在sessioncookie

OR可以将user data存储在数据库中,并在session中添加user_id,然后将该id用于以后的updation of fields