我们如何处理LDAP过滤器中的换行?

时间:2016-09-02 06:36:25

标签: java ldap

每当我使用过滤器

(&(initials=abc)(title=manager)

)

此过滤器包含换行符。

执行此过滤器字符串会报告不一致的括号LDAP错误。

任何人都可以帮忙解决这个问题,如何处理换行? LDAP中是否支持包含换行符的过滤器?这是一个无效的过滤器还是可以处理,也许使用一些转义技术?

1 个答案:

答案 0 :(得分:1)

您是否接受来自用户输入的过滤器并将其直接用作LDAP查询的输入?出于安全原因,无论目标数据库如何,我强烈建议不要以这种方式使用未经过授权的用户输入永远。正确的方法是接受来自用户的参数,然后使用这些参数动态构建过滤器(请注意,您仍需要考虑转义规则以防止可能的注入攻击。这就是为什么您应该使用工具来构建动态过滤器,例如,Spring LDAP中包含的过滤器支持。

也就是说,这个特殊的问题应该很容易解决:在使用它之前,只需要为要从过滤器中删除的字符做一个String.replace。