【问题标题】:Connecting to a non-secure LDAP server via PHP on a Secure Domain通过安全域上的 PHP 连接到非安全 LDAP 服务器
【发布时间】:2012-01-04 23:39:20
【问题描述】:

我正在尝试连接到客户端的 IT 人员说没有 SSL 证书的 ldap 服务器。这是在他们的域上的一个测试文件上,该文件安装了 SSL。假设文件位于https://client.org/test_LDAP.php

所以我使用非常简单的代码进行连接,就在过去的一个月里,它在另一个客户端上运行良好:

ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);

define("LDAP_SERVER","ldap://name.their.junk");
define("LDAP_BASE","CN=Users,DC=their,DC=junk");

$username = 'CN=Username,'.LDAP_BASE;
$password = "Password";

$ldap = ldap_connect(LDAP_SERVER, 389) or die("Can't connect to LDAP server");

ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3) ;

if (ldap_bind($ldap, $username, $password)) {
    ldap_unbind($ldap);
    echo 'OK - Login valid';
} else {
    die(ldap_error($ldap) . ' (' . ldap_errno($ldap) . ')');
}

如果我从安装了 SSL 的域运行代码,这是否意味着我必须使用 ldaps 和端口 636,即使客户端的 AD 服务器没有证书?我已经在一个不安全的启动域和他的安全实时域上尝试了两个端口和两个 ldaps: 和 ldap: 的代码。似乎没有任何效果。但他发誓用户名和密码以及所有变量都是正确的,并告诉我使用他们的 IP 代替主机名(例如 ldap:000.000.000.00)。

我在这里做错了吗?

是的,我确实在我的服务器端正确配置了 LDAP,因为我们最近能够对另一个客户端做同样的事情。

任何见解将不胜感激。

【问题讨论】:

  • 您是否遇到任何错误?日志里有东西?您是否尝试过观看尝试的连接(tcpdump 等)
  • 是我的还是他的?我已经让他检查他的日志,但没有收到回复。我应该查看哪些日志?
  • 您应该检查您的应用程序的标准日志(例如,php 错误日志,如果需要,请打开详细的 AD 日志记录),这真的取决于您说 its not working 和 SO 用户说 @ 987654324@。日志应该是您在寻求帮助之前查看的内容,因为它们通常指向错误(如果已记录)。这只是对更好的问题格式的建议。
  • 感谢您的信息。当谈到服务器时,我是个菜鸟,所以我只是在检查任何类型的日志时一头雾水。应该很明显。
  • 使用错误日志中没有任何内容。从我所看到的情况来看,您的代码所在的域是否是 SSL 无关紧要。他的服务器要么阻止了该站点,要么我的某些设置不正确。

标签: php apache active-directory ldap


【解决方案1】:

如果您尝试在 Windows 2003 Server Active Directory 或更高版本上执行搜索,您似乎必须将 LDAP_OPT_REFERRALS 选项设置为 0:

ldap_connect(..) 
ldap_set_option ($ldap, LDAP_OPT_REFERRALS, 0); 
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); 
ldap_bind(..) 

【讨论】:

  • 这似乎对我不起作用。他说他正在运行的版本是 Windows 2003 Server x64 SP2,如果这意味着什么的话。不过值得一试,谢谢。
  • 我将继续并将其标记为正确答案,因为在他向我提供有关服务器的更多信息之前,我无能为力。我完全不知道他们有什么,我认为这仍然是一个防火墙问题,没有让我们的服务器通过。
  • 你为什么不用wireShark来看看网络上发生了什么。
  • 从未听说过。我试试看。
  • 好的,我打开了 WireShark,但不知道我在做什么......哦,男孩
猜你喜欢
  • 2013-05-29
  • 2011-01-11
  • 1970-01-01
  • 2012-02-08
  • 2011-03-30
  • 2014-12-07
  • 1970-01-01
  • 2011-08-29
  • 2020-08-12
相关资源
最近更新 更多