网站数据库数据丢失,qq空间做淘宝客网站,大连开发区招聘信息,国外手机设计网站这篇短文中#xff0c;我将向您介绍如何ASP.NET Core Razor页面中禁用防伪令牌验证。Razor页面是ASP.NET Core 2.0中增加的一个页面控制器框架#xff0c;用于构建动态的、数据驱动的网站#xff1b;支持跨平台开发#xff0c;可以部署到Windows#xff0c;Unix和Mac操作系… 这篇短文中我将向您介绍如何ASP.NET Core Razor页面中禁用防伪令牌验证。Razor页面是ASP.NET Core 2.0中增加的一个页面控制器框架用于构建动态的、数据驱动的网站支持跨平台开发可以部署到WindowsUnix和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().InitializeTagHelperFormTagHelper((helper, context) helper.Antiforgery false);}所以全局禁用防伪令牌验证的完整代码如下 public void ConfigureServices(IServiceCollection services) {services.AddMvc().AddRazorPagesOptions(o{o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());}).InitializeTagHelperFormTagHelper((helper, context) helper.Antiforgery false);}部分禁用如果您希望仅禁用特定方法或页面模型的验证包括如下两个方法在Startup类的ConfigureServices方法进行配置不过要提供页面的路径 public void ConfigureServices(IServiceCollection services) {services.AddMvc().AddRazorPagesOptions(opotions {opotions.Conventions.AddPageApplicationModelConvention(/demo,pageApplicationModel pageApplicationModel.Filters.Add(new IgnoreAntiforgeryTokenAttribute()));});}在此处我们禁用了 demo 页面的防伪令牌验证。在PageModel上面使用标记 [IgnoreAntiforgeryToken(Order 1001)] public class DemoModel : PageModel{ public void OnPost() {}}ValidateAntiForgeryToken标记默认的Order属性为1000因此IgnoreAntiforgeryToken属性需要一个更高的序号。上面我们已经说过了禁用防伪令牌验证不会阻止生成隐藏字段或cookie所以需要禁用FormTagHelper生成令牌。 form methodpost asp-antiforgeryfalse/form关于这个话题就介绍完了如果您感兴趣不防测试一下。相关文章 .NET Core 2.0 正式发布信息汇总.NET Standard 2.0 特性介绍和使用指南.NET Core 2.0 的dll实时更新、https、依赖包变更问题及解决.NET Core 2.0 特性介绍和使用指南Entity Framework Core 2.0 新特性体验 PHP under .NET Core.NET Core 2.0使用NLog升级项目到.NET Core 2.0在Linux上安装Docker并成功部署解决Visual Studio For Mac Restore失败的问题ASP.NET Core 2.0 特性介绍和使用指南.Net Core下通过Proxy 模式 使用 WCF.NET Core 2.0 开源Office组件 NPOIASP.NET Core Razor页面 vs MVCRazor Page–Asp.Net Core 2.0新功能 Razor Page介绍MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移Migration介绍及示例.NET Core 2.0迁移技巧之web.config配置文件asp.net core MVC 过滤器之ExceptionFilter过滤器(一)ASP.NET Core 使用Cookie验证身份ASP.NET Core MVC – Tag Helpers 介绍ASP.NET Core MVC – Caching Tag HelpersASP.NET Core MVC – Form Tag HelpersASP.NET Core MVC – 自定义 Tag HelpersASP.NET Core MVC – Tag Helper 组件ASP.Net Core Razor 页面路由原文地址https://www.cnblogs.com/tdfblog/p/disable-antiforgery-token-validation-in-asp-net-core-razor-page.html.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注