cómo usar la política de owasp-java-html-sanitizer en una página jsp

Se me ha asignado una tarea para evitar que nuestro sitio web utilice Cross-site Scripting (XSS). El concepto es nuevo para mí y busqué mucho en Google y obtuve owasp-java-html-sanitizer. Creé mi propia póliza con

public static final PolicyFactory POLICY_DEFINITION = new HtmlPolicyBuilder()

mediante el uso .allowAttributes , lo diseñé . Pero ahora no tengo ni idea de cómo usarlo... Encontré el siguiente fragmento de código:

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));
}

pero ¿cómo puedo aplicar esto a mi JSP porque creo que esto es para HTML simple? Por favor ayuda.

preguntado el 16 de abril de 13 a las 08:04

1 Respuestas

Puede adjuntar el renderizador a un StringWriter en lugar de System.out, pero probablemente sea más fácil simplemente usar la directiva sanitize método de conveniencia :

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

Una función de conveniencia que desinfecta una cadena de HTML.

que devuelve una cadena de HTML que es segura para interpolar en su página JSP.

Respondido el 20 de junio de 20 a las 10:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.