Ajax Control Toolkit Editor Control - предотвращение XSS-атак

В этой статье я заметил, что Microsoft делает Не рекомендуется использовать элемент управления Editor из Ajax Control Toolkit на общедоступных сайтах из-за опасности атак с использованием межсайтовых сценариев. Я попробовал это, и даже если вы специально установите NoScript = "true", можно добавить скрипт и, следовательно, ввести уязвимости атаки XSS. В моей ситуации мы работаем над процессом подачи заявки на стипендию, и мы надеялись использовать это для всех номинантов, чтобы напечатать эссе онлайн. Мы хотели взять данные и повторно отобразить их на обзорной доске, но, очевидно, это плохая идея.

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

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


person David    schedule 01.10.2009    source источник


Ответы (1)


Последний выпуск библиотеки AntiXSS теперь выполняет некоторую дезинфекцию HTML, которая, я думаю, сделает то, что вы хотите. Взгляните на его блог Blowdart здесь.

ОБНОВЛЕНИЕ 15 сентября 2015 г .:
AntiXSS был добавлен в . Net 4.0 Framework, включите его в своем .config файле.

person PhilPursglove    schedule 01.10.2009
comment
Как жаль, что нельзя голосовать за кого-то более одного раза. Это здорово ... Не могу поверить, что никогда раньше не сталкивался с этим. Я просто всегда придерживался использования валидации для дезинфекции моего ввода и использования HtmlEncode там, где это возможно, но это даже лучше ... Лучшая производительность, плюс новая функция GetSafeHtmlFragment () работает в этом сценарии! Еще раз спасибо! - person David; 01.10.2009
comment
Не то чтобы я не собирался дезинфицировать ввод и принимать все меры предосторожности. Это просто хороший дополнительный инструмент. - person David; 01.10.2009
comment
Ссылка, к сожалению, не работает. :-( - person SharpC; 15.09.2015