真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ASP.NETCore2.0中Razor頁面如何禁用防偽令牌驗(yàn)證-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“ASP.NET Core 2.0中Razor頁面如何禁用防偽令牌驗(yàn)證”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“ASP.NET Core 2.0中Razor頁面如何禁用防偽令牌驗(yàn)證”這篇文章吧。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的且末網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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方法中禁用:

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)簽助手的方法:

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

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

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

部分禁用

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

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

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)記:

[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生成令牌。


以上是“ASP.NET Core 2.0中Razor頁面如何禁用防偽令牌驗(yàn)證”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站名稱:ASP.NETCore2.0中Razor頁面如何禁用防偽令牌驗(yàn)證-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://weahome.cn/article/ddgphc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部