Пожалуйста, предложите мне лучший способ остановить межсайтовый скриптинг (XSS) через URL.
Для примера см. Ниже URL и после воздействия этой атаки.
https://example.com/questions/ask.aspx?hf=15315%27%3balert("XSS")%2f%2f150
и после этого в браузере появилось предупреждение.
Подтвердите параметр запроса ввода http, прежде чем использовать его как параметр или рендеринг на возвращенной странице. Вы также можете использовать значения белого списка для своего параметра.
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
Для asp.net вы можете использовать System.Web.Security.AntiXssEncoder для переноса текста в HtmlEncode. Это должно помешать злоумышленникам сохранять сценарии в вашей базе данных, которые будут выполняться в браузере.
entity.SomeValue = AntiXssEncoder.HtmlEncode(model.SomeValue);