¿Cuál es la diferencia entre escapar, filtrar, validar y sanear?

9

Una aplicación necesita manejar la entrada y salida de datos no confiables con cuidado. Según el caso, los valores deben ser escapados , filtrados , validados o saneados . A menudo parece haber un uso descuidado e intercambiable de estos términos, aunque obviamente no son todos equivalentes.

Estoy buscando una descripción general que aclare las diferencias y el uso correcto en un contexto de seguridad.

    
pregunta Arminius 29.11.2016 - 21:24
fuente

1 respuesta

11

Escape . Convertir un personaje de control a su secuencia de escape. Por ejemplo, un símbolo < se puede convertir a &lt; para que los caracteres que siguen al < no se interpreten como una etiqueta XML en lugar de contenido XML.

Filtrado . Como escapar, pero en lugar de reemplazar el carácter de control, simplemente se elimina.

Validado. Comparación de una entrada con una lista blanca o expresión regular para detectar caracteres de control u otras secuencias de caracteres que podrían desencadenar un comportamiento no autorizado. Por ejemplo, un número de cuenta ingresado por un usuario podría ser validado contra una lista de números de cuenta que se sabe que están vinculados al usuario.

Sanitized. Una combinación de escape, filtrado y validación que garantiza que una entrada a una función del sistema no desencadene un comportamiento inesperado y no autorizado.

    
respondido por el John Wu 29.11.2016 - 21:31
fuente

Lea otras preguntas en las etiquetas