php - ldap_bind 始终返回 true

标签 php ldap

我正在尝试实现 LDAP 用户身份验证,但由于某种原因,无论输入是什么,ldap_bind 始终返回 true。输入是否是乱码、空或合法

$ds = ldap_connect($ldaphost)
      or die("Could not connect to $ds");

if($bind = ldap_bind($ds,$username, $password)) 
{
  // login successful
} 
else {
  // error message
}

有什么想法吗?

注意:使用下面的代码会产生相同的问题:

$bind = ldap_bind($ds,$username, $password);

if($bind) 
{
  // login successful
} 
else {
  // error message
}

提前致谢!

最佳答案

对于发现此问题的其他人- 如果您传递零长度密码,则您可能正在尝试“匿名简单绑定(bind)”,这将始终返回 true。

查看评论以获得更好的描述查看 php.net

关于php - ldap_bind 始终返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20911052/

相关文章:

php - 如何将表与 SQL 结合起来?

php - 递归显示用户所属的所有 Active Directory 组

encryption - LDAP 可以在身份验证过程中识别密码哈希吗?

ruby-on-rails - 如何自定义 Gitlab LDAP 认证功能?

javax.naming.CommunicationException LDAP SSL InitialLdapContext

php - 是否有任何配置或 INNODB 原则导致以下 MYSQL 更新不一定执行所有更新?

php - 数据库中历史表的总和,以显示用户的总信用(声誉)

java - 如何获取用户的所有 Ldap 组,包括 JAVA 中的嵌套组

php - Composer .lock : how does it work?

php - .htaccess mod_rewrite 解释