NotCompromisedPassword

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.2,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

NotCompromisedPassword

验证给定的密码没有被检查,它不包括在任何公共追踪的数据泄露haveibeenpwned.com

基本用法

以下约束确保rawPassword财产的用户类不存储密码:

  • 注释
  • 属性
  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8 9 10 11 12
/ / src /实体/ User.php名称空间应用程序\实体;使用欧宝娱乐app下载地址\组件\验证器\约束作为断言;用户{/ * * *@Assert\ NotCompromisedPassword * /受保护的美元rawPassword;}

为了使密码验证,这个约束不发送原始密码值haveibeenpwned.comAPI。相反,它是一个安全的过程称为k-anonymity密码验证

在实践中,原始密码是使用sha - 1哈希和只发送第一个字节的散列。然后,haveibeenpwned.comAPI比较这些字节与所有泄露的sha - 1哈希密码和返回哈希表的列表,从相同的字节。这就是约束可以检查密码一直没有完全披露。

例如,如果密码测试,整个sha - 1哈希a94a8fe5ccb19ba61c4c0873d391e987982fbbd3但验证器只发送a94a8haveibeenpwned.comAPI。

另请参阅

当使用这个约束在一个Symfony应用程序,定义欧宝娱乐app下载地址not_compromised_password避免犯的HTTP请求的选项dev测试环境。

可用选项

类型:数组|字符串

它定义了这个约束属于验证组或组。阅读更多关于验证组

消息

类型:字符串默认的:这在数据泄露密码被泄露,它不能被使用。请使用另一个密码。

提供的默认消息当密码的身份被识破了。

有效载荷

类型:混合默认的:

这个选项可以用来连接任意特定领域的数据约束。配置的有效载荷不使用验证器组件,但是它的处理是完全取决于你。

例如,您可能想要使用几个错误级别以不同的方式来呈现没有约束,在前端取决于错误的严重性。

skipOnError

类型:布尔默认的:

当HTTP请求的haveibeenpwned.comAPI由于某种原因失败,抛出异常(没有显示验证错误)。设置这个选项真正的不抛出的异常,考虑有效的密码。

阈值

类型:整数默认的:1

这个值定义了一个密码的次数应该被公开泄露给考虑妥协。之前仔细考虑这个选项设置为更高的价值,因为它可以减少应用程序的安全。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。