очистка пользовательского ввода в asp.net (mvc3), чтобы сделать его безопасным

#c# #asp.net #asp.net-mvc #user-input #validation

#c# #asp.net #asp.net-mvc #пользовательский ввод #проверка

Вопрос:

Мне нужно принять пользовательский ввод (комментарии) в asp.net веб-приложение mvc3, которое я затем хочу повторно отобразить в пользовательском интерфейсе. Я хотел бы удалить любое включение XSS / скрипта / попытку взлома / вредоносный код из этого текста комментария перед его сохранением и разрешить его отображение на экране. Существует ли стандартный или универсальный способ сделать это для .net?

Я также хотел бы иметь возможность делать такие вещи, как — разрешить или запретить ссылки или ссылки nofollow, если они разрешены … и т.д.

Ответ №1:

Мы используем библиотеку защиты от XSS и остались довольны результатами.

Комментарии:

1. Крис, позволяет ли эта библиотека удалять ненужные части и продолжать, или она просто выдает ошибку при обнаружении вредоносных скриптов? В прошлый раз, когда я проверял, казалось, что он сделал последнее. Спасибо

2. Подобное использование очистит данные и позволит вам продолжить: String Name = AntiXSS . HtmlEncode(запрос. Строка запроса [«Имя»]);

Ответ №2:

Вы можете проверить библиотеку AntiXSS. Это позволяет фильтровать опасные части фрагментов HTML, такие как вредоносные <script> теги, которые могут быть использованы для выполнения XSS-атак, и создает безопасный для вывода HTML. В MSDN также есть статья (немного устаревшая) об этом.