为什么ldap搜索在使用%时返回所有结果?
当我使用以下过滤器搜索一个ldap服务器时为什么ldap搜索在使用%时返回所有结果?,ldap,Ldap,当我使用以下过滤器搜索一个ldap服务器时 (cn=%*) 它返回基本dn下的所有结果?LDAP是否特别对待“%”?但是我没有找到任何关于它的描述。你的目录服务器是什么 您确定命令行解释器或编译器不会替换“%”吗 根据%不是特殊字符 如果值应包含以下任何字符 Character ASCII value --------------------------- * 0x2a (
(cn=%*)
它返回基本dn下的所有结果?LDAP是否特别对待“%”?但是我没有找到任何关于它的描述。你的目录服务器是什么 您确定命令行解释器或编译器不会替换“%”吗 根据%不是特殊字符 如果值应包含以下任何字符
Character ASCII value
---------------------------
* 0x2a
( 0x28
) 0x29
\ 0x5c
NUL 0x00
该字符必须编码为反斜杠“\”字符(ASCII
0x5c),后跟表示ASCII的两个十六进制数字
编码字符的值。两个十六进制的情况
数字不重要
这种简单的转义机制消除了过滤器解析的歧义
并允许使用LDAP中可以表示的任何筛选器
表示为以NUL结尾的字符串。其他角色
上面列出的可能会使用此机制进行转义,例如,
非打印字符
例如,过滤器检查“cn”属性是否包含
其中任意位置带有字符“”的值将表示为
“(cn=\2a*)”
请注意,虽然子字符串和present production都在
上面的语法可以生成“attr=*”构造,这个构造是
仅用于表示状态筛选器。否它不表示状态筛选器。你期望的结果是什么?