Как предотвратить XSS в Asp.NET

Какие методы можно использовать для предотвращения межсайтового скриптинга в asp.net? Существуют ли какие-либо не готовые реализации, которые можно использовать для создания веб-сайта, защищенного от xss?

3 ответа

Решение

Мы долго занимались разработкой для этой цели, но, наконец, Microsoft предоставила для этого библиотеку. Теперь мы полностью заменили нашу библиотеку. Его можно просто использовать следующим образом:

string sanitizedString = Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(string myStringToBeChecked);

Единственная проблема этого метода заключается в том, что он обрезает несколько пробелов, разделенных символами конца строки. Если вы не хотите, чтобы это происходило, вы можете сначала разбить строку по символам конца строки (\ r \ n), а затем вычислить количество пробелов до и после этих разбитых строк, применить sanitizer, добавить пробелы назад и объединить,

Кроме этого, библиотека Microsoft работает нормально.

Microsoft Anti-Cross межсайтовых скриптов библиотека является хорошим началом. У него есть несколько полезных вспомогательных методов для предотвращения XSS. Теперь это часть большой библиотеки Microsoft Web Protection.

Чтобы защитить межсайтовый скриптинг атакой следующими способами.

 1.  Use HtmlEncoding while saving the input content that is received from web  application controls usch as textbox etc.
 2.  Use InnerText instead of InnerHtml while displaying data on the page.
 3.  Do the input sanitization before saving the data into database.
Другие вопросы по тегам