javascript - 实时密码规则检查器?

标签 javascript ajax

我正在为我的学校做一些初步调查(我作为一名学生在 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/

相关文章:

javascript - 在弹出消息中显示弹出消息

jquery - $(selector).load ('page.html #id' ) 与 $.get 和过滤/查找 #id

Javascript 二进制文件到服务器

javascript - 不能对 mongoose 查询结果使用 "delete"运算符

javascript - 如何为过滤器动态插入数组中的项目

jquery - Ajax 帖子获取 "cancelled"

javascript - Internet Explorer跨域请求无法正常工作并且MS没有给出onerror推理

javascript - ajax获取另一个网站的内容并使用选择器

Javascript RegEx 非捕获前缀

javascript - 循环使用 '.remove()'删除节点,为什么所有节点都不会被删除