为什么ldap搜索在使用%时返回所有结果?

时间:2011-04-15 05:16:14

标签: ldap

当我使用以下过滤器搜索一个ldap服务器时

(cn=%*)

它返回基础dn下的所有结果? LDAP特别对待'%'?但我没有找到任何关于它的描述。

1 个答案:

答案 0 :(得分:0)

您的目录服务器是什么?

您确定命令行解释程序或编译器不会替换'%'吗?

根据RFC2254%不是特殊字符

如果值应包含以下任何字符

       Character       ASCII value
       ---------------------------
       *               0x2a
       (               0x28
       )               0x29
       \               0x5c
       NUL             0x00

必须将字符编码为反斜杠'\'字符(ASCII    0x5c)后跟表示ASCII的两个十六进制数字    编码字符的值。两个十六进制的情况    数字不重要。

这种简单的转义机制消除了过滤器解析的歧义    并允许任何可以在LDAP中表示的过滤器    表示为NUL终止的字符串。其他人物除了    例如,可以使用此机制对上面列出的内容进行转义    非印刷字符。

例如,过滤器检查是否包含“cn”属性    其中任何位置带有“”字符的值将表示为    “(CN = \ 2A *)”。

请注意,尽管子串和当前的制作都在    上面的语法可以产生“attr = *”结构,这个结构是    仅用于表示存在过滤器。