Asp.net MVC CSRF攻击防御,添加防伪令牌

第一步:页面加上令牌

页面加上@Html.AntiForgeryToken(),它会在页面生成一个请求令牌,当然cookie也有一个,不需要管它



第二步:请求中带上令牌

在请求的数据里面加上这个令牌,可以在from里面直接加上@Html.AntiForgeryToken(),如果是ajax请求,那就在参数里面加上这个


题外:

        因为我接手的是一个已经做得差不多的项目,不可能去每个ajax里面去加上这个令牌,所以我在分布页里面加上第一步,然后使用一个拦截全局ajax的js,在请求的数据里面把令牌塞进去,这样在分布页里面进行了操作,其余引用这个页面的都ok了

Ajax-hook 的github地址

 https://github.com/wendux/Ajax-hook

js的下载

https://unpkg.com/ajax-hook/dist/ajaxhook.min.js

第三步:控制器里面加上令牌校验

这步就很简单了,只需要在头部加上[ValidateAntiForgeryToken]就可以了


官方地址:

https://docs.microsoft.com/zh-cn/aspnet/web-api/overview/security/preventing-cross-site-request-forgery-csrf-attacks

展开阅读全文

没有更多推荐了,返回首页