RegEx от ввода пользователя безопасно? - PullRequest
4 голосов
/ 15 мая 2009

Я работаю над приложением, которое должно принимать RegEx от пользователя, для этого я использую следующий код:

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

Безопасно ли это делать?
Есть ли необходимость дезинфицировать пользовательский ввод, и если да, то как?

Ответы [ 2 ]

10 голосов
/ 15 мая 2009

Вы можете получить сообщение об ошибке, если регулярное выражение имеет недопустимый синтаксис, или оно может занимать экспоненциальное количество времени и пространства при обработке, если так называемое патологическое регулярное выражение проверено на некоторой конкретной строке.

0 голосов
/ 15 мая 2009

Пользовательский ввод всегда злой. Что вы имеете в виду под «безопасным». Может ли он содержать ошибки, которые приведут к тому, что ваш код выдаст исключение или потерпит неудачу каким-либо другим способом? Да, конечно, может, поэтому вы должны быть готовы к этому, конечно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...