Как предотвратить 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.