Pregunta

Estoy trabajando en una aplicación que tiene que aceptar una expresión regular por parte del usuario, para hacer así que estoy usando el siguiente código:

Regex user_searchPattern = new Regex(this.userInput_regEx.Text);

está haciendo esto seguro?
¿Hay una necesidad de desinfectar la entrada del usuario, y si es así, ¿cómo?

¿Fue útil?

Solución

Es posible obtener un error si la expresión regular tiene una sintaxis no válida o puede consumir una cantidad exponencial de tiempo y espacio cuando se procesa si lo que se denomina expresión regular patológica es probado en alguna cadena en particular .

Otros consejos

La entrada del usuario es siempre el mal. ¿Qué quiere decir con "seguro". Puede contener errores que harán que su código de lanzar una excepción o un error de alguna otra manera? Sí, sin duda puede, por lo que debe estar preparado para que, por supuesto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top