我正在为我的学校做一些初步调查(我作为一名学生在 IT 部门工作)。这里的学生必须每 6 个月更改一次密码,他们中的许多人都在为强制执行的(许多)密码规则而苦苦挣扎。也就是说,他们通常必须多次尝试设置新密码。
规则是:
- 必须是 8 个字符或更多 长度
- 必须包含 4 种类型中的 3 种 字符(大写,小写, 数字,特殊字符)
- 不得包含用户的第一个, 姓氏或中间名
- 不得包含用户的用户名
- 不得与使用的任何密码相匹配 之前
- 用户必须输入密码两次,并且 输入的密码必须完全匹配
我有几个问题:
- 是否可以创建一个基于网络的 提供的密码检查器 用户输入时的实时反馈 在他们的新密码?我是 想象 list 的一侧 绿色复选标记的网页 当密码满足时被激活 更多标准。
- 是否可以执行此操作 安全、完整地检查 客户端?
- 从哪里开始这样的任务? 有可以推荐的指南吗?
请记住,我不是网络开发人员。另外,请从这里留下任何机智的评论,例如“更改密码政策”或“他们只是愚蠢的用户”。
最佳答案
Is it possible to create a web-based password checker that provides real-time feedback as the user types in their new password? I am imagining a checklist on one side of the web-page where green checkmarks are activated as the password meets more criteria.
是的。
Is it possible to do perform this checking securely
当指示灯变绿时,它会公开有关密码中满足要求的位置的信息。这会将有关密码的数据泄露给任何可以看到屏幕的人。
and entirely client-side?
是的。
Where would one start on such a task?
HTML 文档中的规则列表,每个规则旁边都有一个 FAIL 图像。 JS 中规则的编程版本。然后只需在密码输入的每个按键事件的循环中依次测试每个规则,并根据是否遵循规则交换 PASS 和 FAIL 图像。
您需要使用 XMLHttpRequest 对象访问服务器,以检查之前是否使用过密码。不过,请确保您只在此处存储经过哈希处理和加盐处理的密码。
Please keep in mind that I am not a web developer.
那么我建议您获得一个或成为一个。
Also, please leave any witty comments like "change the password policy"
好吧,抛开机智并坚持严肃的问题:
如果人们在想出符合政策的密码时遇到问题,那么他们在记住密码时也会遇到问题。这将导致越来越多的人不得不重置它们(IT 部门需要做更多的工作),并且越来越多的人将它们写下来(与更容易猜测/暴力破解的密码相比,这可能更不安全)。
关于javascript - 实时密码规则检查器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5979864/