как использовать политику owasp-java-html-sanitizer на странице jsp

Мне дали задание предотвратить межсайтовый скриптинг (XSS) на нашем сайте. Эта концепция для меня нова, я много гуглил и нашел owasp-java-html-sanitizer. Я создал свою собственную политику с

public static final PolicyFactory POLICY_DEFINITION = new HtmlPolicyBuilder()

используя .allowAttributes, я разработал его. Но теперь я не знаю, как его использовать... Я нашел следующий фрагмент кода:

System.err.println("[Reading from STDIN]");
    // Fetch the HTML to sanitize.
    String html = CharStreams.toString(new InputStreamReader(System.in,
            Charsets.UTF_8));
    // Set up an output channel to receive the sanitized HTML.
    HtmlStreamRenderer renderer = HtmlStreamRenderer.create(System.out,
    // Receives notifications on a failure to write to the output.
            new Handler<IOException>() {
                public void handle(IOException ex) {
                    Throwables.propagate(ex); // System.out suppresses
                                                // IOExceptions
                }
            },
            // Our HTML parser is very lenient, but this receives
            // notifications on
            // truly bizarre inputs.
            new Handler<String>() {
                public void handle(String x) {
                    throw new AssertionError(x);
                }
            });
    // Use the policy defined above to sanitize the HTML.
    HtmlSanitizer.sanitize(html, POLICY_DEFINITION.apply(renderer));
}

но как я могу применить это к своему JSP, потому что я думаю, что это для простого HTML. Пожалуйста помоги.


person Chetan Sharma    schedule 16.04.2013    source источник


Ответы (1)


Вы можете прикрепить средство визуализации к StringWriter вместо System.out, но, вероятно, проще просто использовать политику sanitize удобный метод:

public java.lang.String sanitize(@Nullable
                                 java.lang.String html)

Удобная функция, очищающая строку HTML.

который возвращает строку HTML, которую можно безопасно интерполировать на вашу страницу JSP.

person Mike Samuel    schedule 02.05.2013