我正在为我们的网站创建一个walkup创建帐户页面。在用户提交表单后,即使两个密码匹配并且有效,我总是会清除默认值=“”,以便在偏执狂的输入中输入类型=“密码”。在我们的设计师问我是否有真正意义的要求之后,我开始思考这个问题。如果他们不是有问题的验证失败,我肯定可以在提交后将密码回复到value =“”字段,但是这种方法是否存在漏洞?我们在此特定页面上默认为https。我知道你可以做一个html重写来改变输入类型,这样你可以回显到一个非屏蔽的输入,但是这似乎只能影响本地用户。设置类型“密码”输入与验证失败后之前提交的值
实例形式:
<input type="text" name="username" value="<?php echo $username; ?>">
<input type="password" name="password1" value="">
<input type="password" name="password2" value="">
在提交时,检查用户名看起来像一个适当的电子邮件,密码匹配,并且密码击败我们的最低要求。如果电子邮件冒犯了,但密码没有,我可以添加...
<input type="password" name="password1" value="<?php echo $password1; ?>">
<input type="password" name="password2" value="<?php echo $password2; ?>">
...并且无忧?不,我不使用注册全局变量。我手动将它们从$ _POST中取出并首先进行消毒。
乔希
我使用sha1 +盐,一旦密码实际验证。所以,主要的威慑力是物理访问计算机,而有人专门在这个创建帐户页面? – Josh 2009-08-27 19:11:10