我正在尝试通过PHP添加Active Directory记录。CN包含一个撇号(单引号),我正在尝试找到正确的方法对其进行转义。
我尝试过的东西:
$dn = "CN=Conan O'Brien,OU=test,DC=test";
ldap_add($link_id, $dn, $attributes);
ldap_add($link_id, addslashes($dn), $attributes);
ldap_add($link_id, str_replace("'", "\\39", $dn), $attributes);每一个都会给出相同的错误。显然,我已经验证了此代码在DN中没有撇号的情况下可以正常工作。
ldap_add(): Add: Invalid syntax发布于 2011-01-20 21:39:01
您需要使用两个撇号,而不是一个。这是因为其中一个逃脱了另一个。
\转义用于特殊字符(",“";”"=“”等...)和十六进制编码的字符,当值没有字符串表示形式时使用。
https://stackoverflow.com/questions/3366154
复制相似问题