zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    eclipse的web项目热部署
    JAVA字符串转日期或日期转字符串
    右下角弹出框
    div拖拽
    js的富文本框与日期插件
    slected多选框的转移
    判断当前日期是否是当月数据
    java常见面试题(二)
    静态代理和动态代理
    java常见面试题(一)
  • 原文地址:https://www.cnblogs.com/zxdz/p/13070823.html
Copyright © 2011-2022 走看看