• asp.net mvc与asp.net core Ajax删除操作delete中带ValidateAntiForgeryToken实例


    ValidateAntiForgeryToken ajax

    [ValidateAntiForgeryToken]

    为防止CSRF,asp.net core会在form中自动注入一个隐藏域防止攻击

    自动加入:

    <form asp-action="create">

    </form>

    或者使用beginform自动加入隐藏域

    @using (Html.BeginForm("ChangePassword", "Manage")) { ... }

    或手动加入:

    <form method="post" action="create">

    @Html.AntiForgeryToken()

    </form>

    隐藏域代码大致如下:

    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8NrAkS ... s2-m9Yw">

    在asp.net或asp.net core mvc中,对于删除操作,微软加了token,这样的好处是防止跨站攻击,但如果用平常的ajax删除操作执行时会返回500错误,因此需要加入token进行删除,核心代码实现如下

    以下是两种方法实现均可,url根据自己情况填写:

    第一种:将token加到form里和数据一起提交

    第二种方法加到headers里,在头标识中加入:url可根据自己情况修改

    推荐使用此方法

    微软官方参考:https://github.com/aspnet/AspNetCore.Docs/blob/master/aspnetcore/security/anti-request-forgery/sample/MvcSample/Views/Home/Ajax.cshtml

  • 相关阅读:
    CSRF-防御与攻击
    windows 命令
    Integer.parseInt(String str, int i)
    springCloud springmvc 七牛云存储整合百度富文本编辑器
    jsp 文件
    标签的使用
    富文本编辑器
    项目总结 js
    namenode 和 datanode 节点
    Hadoop wordcount
  • 原文地址:https://www.cnblogs.com/zxdz/p/13070823.html
Copyright © 2020-2023  润新知