Ldap_bind()错误

Ldap_bind()错误,ldap,Ldap,你好!我们如何知道LDAP服务器允许匿名连接 当我运行php程序时: 我得到这个错误: 警告:ldap_bind()[function.ldap bind]:无法绑定到服务器:无法在第14行的/var/www/sue/ldapTest2.php中联系ldap服务器 这是我的简单示例测试程序: LDAP查询测试”; 回声“连接…”; $ds=ldap_connect(“apserv”);//必须是有效的ldap服务器! echo“连接结果为“$ds”。”; 若有($ds){ 呼应“绑定…”; $r

你好!我们如何知道LDAP服务器允许匿名连接

当我运行php程序时: 我得到这个错误:

警告:ldap_bind()[function.ldap bind]:无法绑定到服务器:无法在第14行的/var/www/sue/ldapTest2.php中联系ldap服务器

这是我的简单示例测试程序:

LDAP查询测试”; 回声“连接…”; $ds=ldap_connect(“apserv”);//必须是有效的ldap服务器! echo“连接结果为“$ds”。”; 若有($ds){ 呼应“绑定…”; $r=ldap_bind($ds);//这通常是一个“匿名”绑定 //只读访问 } echo“绑定结果为”。$r.“”; ?> 产出:

LDAP查询测试 正在连接…连接结果是资源id#2

绑定。。。 警告:ldap_bind()[function.ldap bind]:无法绑定到服务器:无法在第14行的/var/www/sue/ldapTest2.php中联系ldap服务器 绑定结果是


需要帮助..谢谢..=)

您的服务器启动了吗?首先通过远程登录到端口389来验证它是否启动。这看起来像是服务器未运行的问题。

您的服务器启动了吗?首先通过远程登录到端口389来验证它是否启动了。这看起来像是服务器未运行的问题。

这是一个有趣的问题!据LDAP sta所知,就我所知ndard,具有用户名但没有密码的绑定被视为匿名绑定


因此,请连接一个有效的用户,但不使用密码,然后查看您是否连接和访问。如果是,它允许匿名绑定,如果不是,您应该返回类似LDAP-13的机密性要求。

这是一个有趣的问题!据我所知,根据LDAP标准,使用用户名但不使用密码的绑定视为匿名把我们绑起来


因此,请与有效用户连接,但不使用密码,然后查看您是否连接并访问。如果是,它允许匿名绑定,如果不是,您应该返回类似LDAP-13的机密性要求。

您是否正在尝试检查您的特定服务器是否支持匿名绑定(1)或者您正在寻找一种通用方法来确定某些LDAP服务器是否支持匿名绑定(2)

(1) 您测试的服务器是什么?OpenLDAP提供以下配置设置:

  • 不允许绑定\u anon
    :不允许匿名绑定;默认启用
  • allow bind\u anon\u cred
    :允许所谓的未经验证的绑定(用户名但未提供密码);默认情况下禁用
  • 不允许绑定\u简单\u不受保护
    :不允许通过非TLS连接进行简单绑定;默认情况下启用
  • 禁止绑定\u simple
    :完全禁止简单绑定;默认启用
因此,您应该检查服务器配置是否解除匿名绑定

(2) 检查匿名绑定支持的一般方法是抑制
ldap\u bind()
上的警告并检查结果:

function isAnonymousBindSupported($ldap)
{
    return @ldap_bind($ldap)
}
您的错误消息

Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in /var/www/sue/ldapTest2.php on line 14
虽然这实际上是运行脚本的计算机与LDAP服务器之间存在某种连接问题的明确迹象。调用
LDAP\u connect()
时不会报告连接错误,因为在调用
LDAP\u bind()之前没有进行连接尝试
-因此,所有连接错误都将在
ldap\u bind()上引发。

请检查以下内容:

  • 运行您的脚本的计算机是否能够通过DNS解析名称
    apserv
    ?您可以通过
    ping
    ing
    apserv
    按其名称或运行
    nslookup
    进行测试
  • 你能ping一下apserv的IP地址吗
  • 您可以使用服务器的IP地址连接到服务器吗
  • 是否有防火墙阻止对目标机器端口389的访问
  • 您是否能够使用某种LDAP工具连接到LDAP服务器

您是在检查您的特定服务器是否支持匿名绑定(1),还是在寻找一种通用方法来确定某些LDAP服务器是否支持匿名绑定(2)

(1) 您测试的服务器是什么?OpenLDAP提供以下配置设置:

  • 不允许绑定\u anon
    :不允许匿名绑定;默认启用
  • allow bind\u anon\u cred
    :允许所谓的未经验证的绑定(用户名但未提供密码);默认情况下禁用
  • 不允许绑定\u简单\u不受保护
    :不允许通过非TLS连接进行简单绑定;默认情况下启用
  • 禁止绑定\u simple
    :完全禁止简单绑定;默认启用
因此,您应该检查服务器配置是否解除匿名绑定

(2) 检查匿名绑定支持的一般方法是抑制
ldap\u bind()
上的警告并检查结果:

function isAnonymousBindSupported($ldap)
{
    return @ldap_bind($ldap)
}
您的错误消息

Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in /var/www/sue/ldapTest2.php on line 14
虽然这实际上是运行脚本的计算机与LDAP服务器之间存在某种连接问题的明确迹象。调用
LDAP\u connect()
时不会报告连接错误,因为在调用
LDAP\u bind()之前没有进行连接尝试
-因此,所有连接错误都将在
ldap\u bind()上引发。

请检查以下内容:

  • 运行您的脚本的计算机是否能够通过DNS解析名称
    apserv
    ?您可以通过
    ping
    ing
    apserv
    按其名称或运行
    nslookup
    进行测试
  • 你能ping一下apserv的IP地址吗
  • 您可以使用服务器的IP地址连接到服务器吗
  • 是否有防火墙阻止对目标机器端口389的访问
  • 您是否能够使用某种LDAP工具连接到LDAP服务器

这称为未经验证的绑定,与匿名绑定有所不同。是的,但没有密码的绑定会像匿名绑定一样获得权限。这称为未经验证的绑定