是否可以在PHP中创建一个非空字符串,该字符串在LDAP中是空密码?

是否可以在PHP中创建一个非空字符串,该字符串在LDAP中是空密码?,php,null,ldap,bind,Php,Null,Ldap,Bind,LDAP服务器、PHP,不允许使用空密码 我的代码当前检查密码是否为布尔真(是的,我将排除一些可能是有效的非空LDAP密码的值,例如“0”),以避免允许使用LDAP进行空白密码登录。但这足够了吗 是否有可能创建PHP将考虑非null但将被LDAP视为空白密码的值?也许是一个带有0x0(空C字符串)的字符串,或者其他类似的黑客怪物 使用时,LDAP标准涵盖了三种关于简单绑定操作的可能性,还有一种可能性本标准未涉及: 空DN和空密码。不进行身份验证。这通常称为“匿名”,是连接的初始状态 DN和空密码

LDAP服务器、PHP,不允许使用空密码

我的代码当前检查密码是否为布尔真(是的,我将排除一些可能是有效的非空LDAP密码的值,例如
“0”
),以避免允许使用LDAP进行空白密码登录。但这足够了吗

是否有可能创建PHP将考虑非null但将被LDAP视为空白密码的值?也许是一个带有

0x0
(空C字符串)的字符串,或者其他类似的黑客怪物


使用

时,LDAP标准涵盖了三种关于简单绑定操作的可能性,还有一种可能性本标准未涉及:

  • 空DN和空密码。不进行身份验证。这通常称为“匿名”,是连接的初始状态
  • DN和空密码。不进行身份验证
  • DN和密码。身份验证发生,要么失败,要么成功。如果身份验证成功,则在绑定响应中返回零(0)个结果代码。否则,将在绑定响应中返回非零结果代码
  • 最后,LDAP标准没有提到:

  • 没有DN和非空密码。不进行身份验证。目录服务器应拒绝此绑定操作

  • 服务器对前两个的操作取决于服务器的配置,但由于没有进行身份验证,如果服务器配置正确,则应拒绝绑定操作

    我认为您需要针对ldap服务器进行测试。它的行为可能会有所不同。也许您可以定义一个有效密码的约束条件(也包括字符编码),这样您就可以定义
    “\0”
    (PHP字符串,NUL字符)无效了?如果您只限制密码总是以字母开头如何?@AntonSoradoi我不制定LDAP/密码策略。我只想使用我们现有的基础设施对一些web应用进行身份验证。