簡體   English   中英

如何在 ASP.NET Core 中處理跨站點腳本

[英]How to handle cross site scripting in ASP.NET Core

如何處理跨站點腳本 ASP.NetCore MVC。 在之前的框架中,我們有 [AllowHTML] 和 [ValidateInput] 之類的注釋。但是 .Net Core 中似乎缺少這些屬性。 因此,請分享 .Net Core 中可用選項的詳細信息

首先,您應該閱讀以下內容: https : //docs.microsoft.com/zh-cn/aspnet/core/security/cross-site-scripting?view=aspnetcore-2.2

如果您將Razor與變量一起使用,則在大多數情況下應該是安全的,因為“ MVC中使用的Razor引擎會自動對所有源自變量的輸出進行編碼”

如果要繞過Razor變量,例如,使用@Html.Raw(someData)類的東西,則需要確保對輸出為原始(未編碼)html的所有內容進行清理。 您可以使用像這樣的消毒劑(我使用的): https : //github.com/mganss/HtmlSanitizer

這些是基本的防護措施,可以阻止大多數XSS嘗試。

您可以使用antiforgerytoken屬性
[ValidateAntiForgeryToken]
以防止跨站點腳本攻擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM