我正在为我们的网站创建一个walkup 创建帐户页面。在用户提交表单后,即使两个密码匹配且有效,我总是出于偏执清除 type="password" 输入的默认值=""。在我们的设计师问我这样做是否有任何真正意义之后,我开始思考这个问题。我当然可以在提交后将密码回显到 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 中拉出并先进行消毒。
乔什