Я обычно придерживаюсь KNF, описанной в *СТИЛЬ BSD (9)
Я обнаружил, что замена скобок-ангелов закодированными скобками-ангелами решает большинство проблем. Вот справочник обо всех способах использования межсайтовых скриптов. Создать регулярное выражение для остановки любых разновидностей HTML и / или скриптов практически невозможно.
Если вы установите Page.ValidateRequest = true, то это остановит.
Начиная с .net версии 1.1 (я думаю), по умолчанию установлено значение true.
Можно ли использовать валидатор регулярных выражений для проверки ввода?
Page.ValidateRequest остановит это, если вы не отключили его.
Однако руководящие принципы OWASP (а также почти все компетентные инструкции по безопасности) говорят вам, что вы НЕ должны пытаться ограничивать плохие символы в вашей проверке, но вместо этого вы должны фильтровать так, чтобы использовались только специально разрешенные символы.
http://en.wikipedia.org/wiki/Secure_input_and_output_handling
http://www.owasp.org/index. php / Top_10_2007-A1
Для хорошей практики безопасного кодирования я бы начал здесь и добавил сайт в закладки для дальнейшего использования. http://www.owasp.org/index.php/Top_10_2007
Я наткнулся на эту html-утилиту. В коде используется белый список тегов, которые разрешено вводить. Затем сценарий форматирует вводимый текст и удаляет теги и сценарии, которые могут использоваться для атак с использованием межсайтовых сценариев.
Для ваших целей у вас не может быть никаких тегов в белом списке.