麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

ASP.NET Core 2.0中Razor頁面禁用防偽令牌驗證

2024-07-10 13:32:55
字體:
來源:轉載
供稿:網友

在這篇短文中,我將向您介紹如何ASP.NET Core Razor頁面中禁用防偽令牌驗證。

Razor頁面是ASP.NET Core 2.0中增加的一個頁面控制器框架,用于構建動態的、數據驅動的網站;支持跨平臺開發,可以部署到Windows,Unix和Mac操作系統。

跨站點請求偽造(也稱為XSRF或CSRF)是對Web托管應用程序的攻擊,因為惡意網站可能會影響客戶端瀏覽器和瀏覽器信任網站之間的交互。這種攻擊是完全有可能的,因為Web瀏覽器會自動在每一個請求中發送某些身份驗證令牌到請求網站。這種攻擊形式也被稱為 一鍵式攻擊 或 會話控制,因為攻擊利用了用戶以前認證的會話。關于這個話題可以看我的另一篇博客:ASP.NET Core 防止跨站請求偽造(XSRF/CSRF)攻擊。

Razor頁面被設計為默認啟動防跨站請求偽造攻擊的,防偽令牌生成和驗證被自動包含在Razor頁面中。但是,在某些情況下,您可能想禁用它。

全局禁用

要在Razor頁面中全局禁用防偽令牌驗證,可以在Startup類的ConfigureServices方法中禁用:

public void ConfigureServices(IServiceCollection services) {  services.AddMvc().AddRazorPagesOptions(o=>  {   o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());  }); }

這將關閉整個應用程序的防偽令牌驗證。請注意,禁用防偽令牌驗證不會阻止生成隱藏字段或cookie。它只是跳過驗證過程。

我們知道防偽令牌是通過FormTagHelper生成的,好在ASP.NET Core MVC提供了全局設置標簽助手的方法:

public void ConfigureServices(IServiceCollection services) {  services.AddMvc().InitializeTagHelper<FormTagHelper>((helper, context) => helper.Antiforgery = false); }

所以全局禁用防偽令牌驗證的完整代碼如下:

public void ConfigureServices(IServiceCollection services) {  services.AddMvc().AddRazorPagesOptions(o=>  {   o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());     }).InitializeTagHelper<FormTagHelper>((helper, context) => helper.Antiforgery = false); }

部分禁用

如果您希望僅禁用特定方法或頁面模型的驗證,包括如下兩個方法:

1、在Startup類的ConfigureServices方法進行配置,不過要提供頁面的路徑:

public void ConfigureServices(IServiceCollection services)  {   services.AddMvc().AddRazorPagesOptions(opotions =>   {    opotions.Conventions.AddPageApplicationModelConvention("/demo",     pageApplicationModel => pageApplicationModel.Filters.Add(new IgnoreAntiforgeryTokenAttribute()));   });  }

在此處,我們禁用了 demo 頁面的防偽令牌驗證。

2、在PageModel上面使用標記:

[IgnoreAntiforgeryToken(Order = 1001)] public class DemoModel : PageModel {  public void OnPost()  {  } }

ValidateAntiForgeryToken標記默認的Order屬性為1000,因此IgnoreAntiforgeryToken屬性需要一個更高的序號。

上面我們已經說過了禁用防偽令牌驗證不會阻止生成隱藏字段或cookie,所以需要禁用FormTagHelper生成令牌。

<form method="post" asp-antiforgery="false"></form>

關于這個話題就介紹完了,如果您感興趣,不防測試一下。


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲精品欧美在线 | 超碰99在线观看 | 欧产日产国产精品99 | 久久99精品久久久久久园产越南 | 美国一级毛片片aa久久综合 | 九九热免费视频在线观看 | 欧美日韩在线视频一区 | 日韩毛片一区二区三区 | 久久狂草 | 欧美h版电影在线观看 | 中文字幕综合在线观看 | wwwxxx免费视频 | 国产成人高潮免费观看精品 | 久久久久久久久久久久久九 | 日韩视频一区在线 | 97zyz成人免费视频 | 99精品视频一区二区三区 | 欧美成人免费在线视频 | 日韩av在线播放一区 | 国产精品视频2021 | 精品国产一区二区三区四 | 欧美精品videos| 午夜人体 | 国产美女精品视频 | 伊人网站 | 91情侣在线偷精品国产 | 毛片免费观看视频 | 国产羞羞视频 | 热久久成人 | 中文字幕伦乱 | 久久久久久久久浪潮精品 | 黄色片网站在线免费观看 | 色综合久久久久久久久久久 | 日本不卡一区二区三区在线观看 | 久久精品免费网站 | 毛片在线免费视频 | 国产午夜精品久久久久婷 | 91色一区二区三区 | 亚洲国产视频网 | 蜜桃成品人免费视频 | 成人免费毛片在线观看 |