当我使用以下过滤器搜索一个ldap服务器时
(cn=%*)
它返回基础dn下的所有结果? LDAP特别对待'%'?但我没有找到任何关于它的描述。
答案 0 :(得分:0)
您的目录服务器是什么?
您确定命令行解释程序或编译器不会替换'%'吗?
根据RFC2254%不是特殊字符
如果值应包含以下任何字符
Character ASCII value
---------------------------
* 0x2a
( 0x28
) 0x29
\ 0x5c
NUL 0x00
必须将字符编码为反斜杠'\'字符(ASCII 0x5c)后跟表示ASCII的两个十六进制数字 编码字符的值。两个十六进制的情况 数字不重要。
这种简单的转义机制消除了过滤器解析的歧义 并允许任何可以在LDAP中表示的过滤器 表示为NUL终止的字符串。其他人物除了 例如,可以使用此机制对上面列出的内容进行转义 非印刷字符。
例如,过滤器检查是否包含“cn”属性 其中任何位置带有“”字符的值将表示为 “(CN = \ 2A *)”。
请注意,尽管子串和当前的制作都在 上面的语法可以产生“attr = *”结构,这个结构是 仅用于表示存在过滤器。