js如何进行表单的简单密码验证 |
来源:智睿 浏览:1205 次 发布时间:2020-07-16 08:35:06 |
首先我们要了解一下如何实现密码的安全输入? 许多网站现在都需要注册,这意味着需要为用户分配用户名和密码。以下是一些简单的步骤,可以使流程更加安全。 使用“password”输入类型 使用<input type =“password”>代替<input type =“text”>,因为这样可以让浏览器(和用户)知道需要保护该字段的内容。 键入时屏幕上不会显示密码,大多数浏览器也不会像其他表单元素那样“记住”在密码字段中输入的值。 在某些情况下,例如在移动设备上,显示密码可以提高可用性而不会影响安全性。毕竟,只有浏览器显示被混淆而不是数据传输。 确认密码输入 由于密码输入类型模糊了键入的文本,因此您应该让用户确认他们没有犯错。最简单的方法是输入两次密码,然后检查它们是否相同。 另一种方法是显示他们作为“确认页面”的一部分输入的内容。这里的问题是您在浏览器,浏览器缓存,代理等中显示密码。为了安全起见,密码绝不应以HTML格式显示或通过电子邮件发送。 强制执行“强大”密码(复杂的密码) 如果您担心安全性,您应该对有效密码的构成有一些政策。一些常见的限制是: 1、至少n个字符; 2、大写和小写字符的组合; 3、一个或多个数字; 4、与其他用户数据无关(名称,地址,用户名,......); 现在留下最后一个要求,因为它需要一个服务器端脚本,让我们看看使用客户端HTML和JavaScript的可能性。 服务器安全 虽然拥有复杂的密码是一个很好的第一步,但需要在服务器上采取其他措施来备份,以防止暴力攻击。一种流行的方法是安装Fail2Ban来监视日志文件并锁定重复的错误。当然,仅当你的登录系统报告登录尝试失败到系统日志文件时才有效。否则您的应用程序需要提供此功能。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript"> function checkForm(form) { if(form.username.value == "") { alert("错误:用户名不能为空!"); form.username.focus(); return false; } re = /^\w+$/; if(!re.test(form.username.value)) { alert("错误:用户名必须只包含字母、数字和下划线!"); form.username.focus(); return false; } if(form.pwd1.value != "" && form.pwd1.value == form.pwd2.value) { if(form.pwd1.value.length < 6) { alert("错误:密码必须至少包含六个字符!"); form.pwd1.focus(); return false; } if(form.pwd1.value == form.username.value) { alert("错误:密码必须与用户名不同!"); form.pwd1.focus(); return false; } re = /[0-9]/; if(!re.test(form.pwd1.value)) { alert("错误:密码必须包含至少一个数字(0至9)!"); form.pwd1.focus(); return false; } re = /[a-z]/; if(!re.test(form.pwd1.value)) { alert("错误:密码必须包含至少一个小写字母(a-z)!"); form.pwd1.focus(); return false; } re = /[A-Z]/; if(!re.test(form.pwd1.value)) { alert("错误:密码必须包含至少一个大写字母(A-Z)!"); form.pwd1.focus(); return false; } } else { alert("错误:请检查并确认您输入的密码是否一致!"); form.pwd1.focus(); return false; } alert("You entered a valid password: " + form.pwd1.value); return true; } </script> </head> <body> <form onsubmit="return checkForm(this);"> <p>用户名: <input type="text" name="username"></p> <p>密 码: <input type="password" name="pwd1"></p> <p>确认密码: <input type="password" name="pwd2"></p> <p><input type="submit"></p> </form> </body> </html> |
【刷新页面】【加入收藏】【打印此文】 【关闭窗口】 |
上一篇:智睿中小学生学籍信息管理系统 V 3.8.0 2020小学入学学籍完善系统 下一篇:JavaScript判断用户密码的安全强度 |