如何在ASP.NET Core中处理跨站点脚本

问题描述 投票:0回答:2

如何处理跨站点脚本ASP.NetCore MVC。在以前的框架中,我们有[AllowHTML]和[ValidateInput]等注释。但是.Net Core中似乎缺少这些属性。所以请分享.Net Core中可用选项的详细信息

c# asp.net-core
2个回答
0
投票

首先,你应该读到:https://docs.microsoft.com/en-us/aspnet/core/security/cross-site-scripting?view=aspnetcore-2.2

如果你使用带有变量的Razor,你应该在大多数时候都是安全的,因为“MVC中使用的Razor引擎自动编码来自变量的所有输出”

如果你要绕过Razor变量,例如使用类似@Html.Raw(someData)的东西,那么你需要确保你清理你输出的任何原始(未编码)的html。您可以使用像这样的清洁剂(我使用):https://github.com/mganss/HtmlSanitizer

这些是防止大多数XSS尝试的基本安全措施。


-2
投票

您可以使用antiforgerytoken属性 [ValidateAntiForgeryToken] 防止跨站点脚本攻击。

© www.soinside.com 2019 - 2024. All rights reserved.