我正在为我们的网站创建一个walkup create account页面。在用户提交表单后,我总是出于偏执清除type=“value=”输入的默认密码“”,即使这两个密码匹配且有效。在我们的设计师问我这样做是否有任何实际意义后,我开始思考这一点。我当然可以在提交后将密码回显到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中提取出来,并首先进行清理。
乔希
发布于 2009-08-27 18:49:16
我想你不应该这样做,因为同事可能会窃取你的密码,进入个人资料页面并查看源代码。
如果您的密码是使用secure hash加密的,那么您可能无法实现此功能,因为这是一种单一方式,并且您无法找回原始密码。
发布于 2009-08-27 19:21:10
我认为这样做是不好的,因为HTML源代码可能会被缓存,即使您使用HTTP头告诉它不应该缓存它。这取决于浏览器,微软建议在BODY标签之后添加一个额外的HEAD标签。在Internet Explorer的这个“功能”上使用Microsoft has more information。
https://stackoverflow.com/questions/1343065
复制相似问题