Во-первых, вы должны прочитать это: https://docs.microsoft.com/en-us/aspnet/core/security/cross-site-scripting?view=aspnetcore-2.2
Если вы используете Razor с переменными, вы по большей части должны быть в безопасности, потому что "движок Razor, используемый в MVC, автоматически кодирует все выходные данныеисточник из переменных "
Если вы собираетесь обойти переменные Razor и, например, использовать что-то вроде @Html.Raw(someData)
, то вам нужно быть уверенным, что вы санируете все, что выводите как raw (незакодированный) html.Вы можете использовать дезинфицирующее средство, подобное этому (которое я использую): https://github.com/mganss/HtmlSanitizer
Это основные меры безопасности, которые предотвратят большинство попыток XSS.