php - 在使用 PHP 绑定(bind)到 LDAP 服务器时需要帮助忽略服务器证书

标签 php ldap

我正在尝试使用 PHP 绑定(bind)到 LDAP 服务器。这是一个相当简单的过程,只是我无法解决我遇到的证书错误。我的身份验证凭据很好,因为我可以使用 Apache Directory Studio 连接到服务器。有什么办法可以自动接受服务器证书吗?类似于您使用 Apache directory studio 单击“接受此证书 ..”的方式?我知道这不是很好的安全措施,但我现在只需要让它正常工作,以后就可以解决证书问题。

谢谢

最佳答案

您没有指定环境,所以这是答案(可在本网站的其他地方找到:How do I solve ldap_start_tls() "Unable to start TLS: Connect error" in PHP?):

Linux:在客户机(PHP 网络服务器)上修改系统正在使用的 ldap.conf 文件,在 RH/Fedora 中,您需要的文件是 /etc/openldap/ldap.conf (不是/etc/ldap.conf,那是为了系统认证...)。添加/修改以下行:

TLS_REQCERT never

Windows:添加如下系统环境变量:

LDAPTLS_REQCERT=never

或者在您的 PHP 代码中,在 ldap_connect 之前,放置以下内容:

putenv('LDAPTLS_REQCERT=never');

这些将确保客户端 Web 服务器 PHP 实例永远不会根据证书的 CN(通用名称)检查服务器的 FQDN。在使用虚拟 IP 和证书的集群环境中非常有用。但是由于这也使得网络服务器计算机上整个操作系统中的其他工具/应用程序也不会检查这一点,因此请确保您的环境允许此更改(高安全性环境可能不允许)。

关于php - 在使用 PHP 绑定(bind)到 LDAP 服务器时需要帮助忽略服务器证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866406/

相关文章:

php - 如何使用 Laravel 4 将对象插入到 MongoDB 文档中

php - 搜索引擎如何处理查询字符串?

php - Symfony2/Doctrine2 使用 QueryBuilder 进行内部连接

ssl - 未绑定(bind)ID : how to configure multiple TLS protocols for LDAP over SSL connection?

apache - 什么是 tomcat/kerberos 领域及其配置位置

linux - SSSD 和 sudo : mismatch between sudoHost and server hostname

java - 使用 Unbound Id 更改 "active directory"中的帐户到期日期?

php - file_get_contents 是多行吗?

c# - 将密码存储在加密的 cookie 中?

php - 反向 LIKE 函数查找搜索词的子字符串