2017-03-08 7 views
0

のための二重noopenerのnoreferrerを示して、私は次のような文字列でURLがあります。は、Java - OWASP Htmlの消毒は、URL

"<a style=\"color: #800000; background-color: #ffcc00;\" title=\"Test12\" href=\"http://www.google.com\" target=\"_blank\" rel=\"noopener noreferrer\">www.google.com</a>" 

を消毒した後に、私の文字列は次のようになります。

"<a style="color: #800000; background-color: #ffcc00;" title="Test12" href="http://www.google.com" target="_blank" rel="noopener noreferrer noopener noreferrer">www.google.com</a>" 

相対であることに注意してくださいそれは

String [] allowElements = {"b", "i", "font", "s", "u", "o", "sup", "sub", "ins", "del", "strong", "strike", "tt", 
     "code", "big", "small", "br", "span", "em", "li", "ul", "ol", "a", "p", "target"}; 

String [] allowAttributes = {"style", "href", "target", "rel", "title", "_blank"}; 

PolicyFactory policy = new HtmlPolicyBuilder().allowUrlProtocols("http", "https") 
      .allowElements(allowElements) 
      .allowAttributes(allowAttributes) 
      .onElements(allowElements) 
      .toFactory(); 

    final String sanitized = policy.sanitize(value); 

    System.err.println(sanitized); 
noreferrer noopenerのnoreferrerのnoopenerのダブルを持っている属性210

なぜですか?

答えて

0

新しいHtmlPolicyBuilder()。skipRelsOnLinks( "noopener"、 "noreferrer")を使用すると、DEFAULT_RELS_ON_TARGETTED_LINKSの一部がリンクに追加されないようにすることができます。

注:DEFAULT_RELS_ON_TARGETTED_LINKS = ImmutableSet.of( "noopener"、 "noreferrer");

関連する問題