¿Cómo realizo la codificación de salida en cuadros de texto que tienen un tamaño fijo?

-2

Tengo un cuadro de texto de tamaño fijo que espera '<' y '>' Símbolos como entrada. Es un requisito para que el cuadro de texto espere '<' y '>' en su entrada, así que no puedo realizar la validación de entrada para ese cuadro de texto.

Estaba tratando de aplicar el mecanismo de codificación de salida, pero debido a su tamaño fijo (cuadro de texto) y los caracteres adicionales del mecanismo de codificación, algunos de los caracteres se están truncando para que no se muestren como salida.

En esta situación, ¿cómo puedo realizar la validación de ese cuadro de texto para evitar ataques XSS sin pérdida de datos? Nota: no puedo aumentar el tamaño del cuadro de texto dinámicamente.

    
pregunta Pragna 05.07.2016 - 22:43
fuente

1 respuesta

0

Supongo que realmente no puede cambiar dinámicamente el cuadro de texto, pero le sugiero que vuelva a examinar ese hecho, ya que parece ser la forma más fácil y segura de obtener lo que desea.

No puedes codificar la salida. Simplemente no hay forma de codificar < como otra cosa sin que sea más carácter.

Eso significa que necesitarías aplicar algún filtro que filtre los ataques XSS. Esta es una tarea bastante difícil, por lo que sugeriría usar una biblioteca existente para esto, como htmlpurifier para PHP o la OWASP HTML Sanitizer para Java.

Tenga en cuenta que el filtrado es una forma de protección más débil que la codificación de salida, y obviamente cambiará o rechazará algunas entradas del usuario, que pueden o no ser aceptables.

    
respondido por el tim 05.07.2016 - 23:07
fuente

Lea otras preguntas en las etiquetas