Безопасно ли RegEx от пользовательского ввода?

StackOverflow https://stackoverflow.com/questions/867478

  •  22-08-2019
  •  | 
  •  

Вопрос

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

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

Безопасно ли это делать?
Есть ли необходимость в очистке пользовательского ввода, и если да, то как?

Это было полезно?

Решение

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top