我在许多使用ldap扩展名的PHP脚本中看到了以下代码段。我在网上搜索过,但没有找到有用的东西。
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
我知道第一行将ldap协议版本设置为3.但是这个版本有什么优势?为什么需要?
但我真的不知道第二行在做什么,有人可以向我解释一下吗?
答案 0 :(得分:3)
随着时间的推移,有多个版本的LDAP协议存在不兼容性。最新版本和唯一可行的版本是版本3(LDAPv2已设置为历史版本且已弃用)。许多LDAP客户端库仍然提供对LDAPv2和LDAPv3的支持,并且为了显示它们的年龄,它们仍然默认为LDAPv2,除非设置选项以使用LDAPv3(我不知道是否仍然如此)对于PHP,但最好是安全并明确设置它。
第二行定义客户端库应如何处理服务器返回的引用。引用表示服务器无法继续处理请求,但如果您向引用的服务器发送相同的请求,则应继续进行。客户端库可以自动或不自动追踪引用,但是当它们执行时,它们将重用与初始请求完全相同的凭据。自动追逐推荐可能会导致安全问题。因此,默认情况下禁用此功能也是明智的。