国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - ASP.NET Core 2.0中Razor頁面禁用防偽令牌驗(yàn)證

ASP.NET Core 2.0中Razor頁面禁用防偽令牌驗(yàn)證

2020-05-22 13:56Sweet-Tang ASP.NET教程

在這篇短文中,我將向您介紹如何ASP.NET Core2.0 Razor頁面中禁用防偽令牌驗(yàn)證,對(duì)此有興趣的朋友參考學(xué)習(xí)下吧。

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

Razor頁面是ASP.NET Core 2.0中增加的一個(gè)頁面控制器框架,用于構(gòu)建動(dòng)態(tài)的、數(shù)據(jù)驅(qū)動(dòng)的網(wǎng)站;支持跨平臺(tái)開發(fā),可以部署到Windows,Unix和Mac操作系統(tǒng)。

跨站點(diǎn)請(qǐng)求偽造(也稱為XSRF或CSRF)是對(duì)Web托管應(yīng)用程序的攻擊,因?yàn)閻阂饩W(wǎng)站可能會(huì)影響客戶端瀏覽器和瀏覽器信任網(wǎng)站之間的交互。這種攻擊是完全有可能的,因?yàn)閃eb瀏覽器會(huì)自動(dòng)在每一個(gè)請(qǐng)求中發(fā)送某些身份驗(yàn)證令牌到請(qǐng)求網(wǎng)站。這種攻擊形式也被稱為 一鍵式攻擊 或 會(huì)話控制,因?yàn)楣衾昧擞脩粢郧罢J(rèn)證的會(huì)話。關(guān)于這個(gè)話題可以看我的另一篇博客:ASP.NET Core 防止跨站請(qǐng)求偽造(XSRF/CSRF)攻擊。

Razor頁面被設(shè)計(jì)為默認(rèn)啟動(dòng)防跨站請(qǐng)求偽造攻擊的,防偽令牌生成和驗(yàn)證被自動(dòng)包含在Razor頁面中。但是,在某些情況下,您可能想禁用它。

全局禁用

 

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

?
1
2
3
4
5
6
7
public void ConfigureServices(IServiceCollection services)
 {
  services.AddMvc().AddRazorPagesOptions(o=>
  {
   o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
  });
 }

這將關(guān)閉整個(gè)應(yīng)用程序的防偽令牌驗(yàn)證。請(qǐng)注意,禁用防偽令牌驗(yàn)證不會(huì)阻止生成隱藏字段或cookie。它只是跳過驗(yàn)證過程。

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

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

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

?
1
2
3
4
5
6
7
8
public void ConfigureServices(IServiceCollection services)
 {
  services.AddMvc().AddRazorPagesOptions(o=>
  {
   o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
   
  }).InitializeTagHelper<FormTagHelper>((helper, context) => helper.Antiforgery = false);
 }

部分禁用

 

如果您希望僅禁用特定方法或頁面模型的驗(yàn)證,包括如下兩個(gè)方法:

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

?
1
2
3
4
5
6
7
8
public void ConfigureServices(IServiceCollection services)
  {
   services.AddMvc().AddRazorPagesOptions(opotions =>
   {
    opotions.Conventions.AddPageApplicationModelConvention("/demo",
     pageApplicationModel => pageApplicationModel.Filters.Add(new IgnoreAntiforgeryTokenAttribute()));
   });
  }

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

2、在PageModel上面使用標(biāo)記:

?
1
2
3
4
5
6
7
8
[IgnoreAntiforgeryToken(Order = 1001)]
 public class DemoModel : PageModel
 {
  public void OnPost()
  {
 
  }
 }

ValidateAntiForgeryToken標(biāo)記默認(rèn)的Order屬性為1000,因此IgnoreAntiforgeryToken屬性需要一個(gè)更高的序號(hào)。

上面我們已經(jīng)說過了禁用防偽令牌驗(yàn)證不會(huì)阻止生成隱藏字段或cookie,所以需要禁用FormTagHelper生成令牌。

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

關(guān)于這個(gè)話題就介紹完了,如果您感興趣,不防測(cè)試一下。

原文鏈接:https://www.cnblogs.com/tdfblog/p/disable-antiforgery-token-validation-in-asp-net-core-razor-page.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本一区二区在线视频 | 日韩高清在线一区 | 看av片| 免费黄色网页 | 日韩欧美在线综合网 | 亚洲免费在线视频 | 男女激情网址 | 午夜大片男女免费观看爽爽爽尤物 | 日韩在线精品强乱中文字幕 | 久久一区| 午夜看片 | 婷婷综合 | 天堂va在线高清一区 | 成人久久久久久 | 精精国产xxxx视频在线野外 | 91免费视频观看 | 精品视频网 | 黄色美女网站免费 | 毛片网站大全 | 欧美一区二区三 | 久草成人网 | 黄色影院| 久久久一 | 亚洲黄色在线观看 | 欧美不卡在线 | 中文在线视频 | 欧美综合在线观看 | 日本aⅴ毛片成人实战推荐 伊人久久在线 | 亚洲字幕网 | 国产精品久久久久久久午夜片 | 美女久久久 | 毛片激情永久免费 | 日韩一区二区在线播放 | 成人午夜精品久久久久久久3d | 中文字幕国产视频 | 日本久久香蕉 | 欧洲一区二区在线观看 | 日韩欧美三级在线观看 | 久久综合一区二区三区 | 免费特级黄毛片 | 国产免费一区 |