0
でLDAPクエリ誰かがコードの下に私を導くことができ、上記のコードで私はLDAPベースDNとsearchFilter値は実行するために行く前に消毒されて理解することができますが、私は理由を理解することはできませんジャワ
public String escapeDN (String name) {
//From RFC 2253 and the/character for JNDI
final char[] META_CHARS = {'+', '"', '<', '>', ';', '/'};
String escapedStr = new String(name);
//Backslash is both a Java and an LDAP escape character, so escape it first
escapedStr = escapedStr.replaceAll("\\\\\\\\","\\\\\\\\");
//Positional characters - see RFC 2253
escapedStr = escapedStr.replaceAll("\^#","\\\\\\\\#");
escapedStr = escapedStr.replaceAll("\^ | $","\\\\\\\\ ");
for (int i=0;i < META_CHARS.length;i++) {
escapedStr = escapedStr.replaceAll("\\\\"+META_CHARS[i],"\\\\\\\\" + META_CHARS[i]);
}
return escapedStr;
}
public String escapeSearchFilter (String filter) {
//From RFC 2254
String escapedStr = new String(filter);
escapedStr = escapedStr.replaceAll("\\\\\\\\","\\\\\\\\5c");
escapedStr = escapedStr.replaceAll("\\\\\*","\\\\\\\\2a");
escapedStr = escapedStr.replaceAll("\\\\(","\\\\\\\\28");
escapedStr = escapedStr.replaceAll("\\\\)","\\\\\\\\29");
escapedStr = escapedStr.replaceAll("\\\\"+Character.toString('\\u0000'), "\\\\\\\\00");
return escapedStr;
}
を消毒し、メソッドがどのように機能するのか...
ありがとうございました!!!
こんにちはジム、私は同じに置き換え、なぜ「\\\\\\\\」を理解したいと思いますバックスラッシュは何もない。そのメリットは何ですか?意図的なことは何ですか? –