Регулярное выражение для соответствия французским и немецким символам - PullRequest
5 голосов
/ 20 апреля 2011

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

^[a-zA-Z0-9\r\n\\-=\\*\\.\\?;,+\\/:&_ %@#]*$

Любые предложения по этому вопросу высоко ценятся

Ответы [ 3 ]

4 голосов
/ 20 апреля 2011

Попробуйте [\p{Latin}\p{Punctuation}\p{Math_Symbol}] или добавьте больше классов символов.Посмотрите здесь для других классов символов юникода.

0 голосов
/ 13 апреля 2016

Я знаю, что это старый вопрос.

Но надеюсь, что это поможет кому-то там! Вы можете попробовать это регулярное выражение:

([\u0020-\u007e\u00a0-\u00ff\u0100-\u017F]+)

По сути, он должен совпадать со всеми латинскими и расширенными латинскими символами, включая цифры, при необходимости удаляйте символы Юникода. Я бы сказал, что это был бы самый верный способ сделать все правильно для всех ваших сценариев.

Ссылки:

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