bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

ASP.NETCore2.0中Razor頁面如何禁用防偽令牌驗證-創新互聯

這篇文章主要為大家展示了“ASP.NET Core 2.0中Razor頁面如何禁用防偽令牌驗證”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“ASP.NET Core 2.0中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 Core 2.0中Razor頁面如何禁用防偽令牌驗證”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!

文章標題:ASP.NETCore2.0中Razor頁面如何禁用防偽令牌驗證-創新互聯
轉載來于:http://vcdvsql.cn/article42/ddgphc.html

成都網站建設公司_創新互聯,為您提供App設計移動網站建設搜索引擎優化Google網站改版網頁設計公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設