MVC安全:ajax表单提交切记加上AntiForgeryToken防止跨站请求伪造 (CSRF)攻击

因为项目使用的是mvc的框架,前端使用的是metronic bootstrap框架,所以在处理表单的提交时就用了ajax的方式进行提交,这样前端js也方便封装,实现代码复用。

先看看js端的相关代码


下面是ajax部分代码

然后我们来看看后台控制中情况


        如图,需要在新增和修改的方法上面加上两个修饰属性 [HttpPost]和[MyValidateAntiForgeryToken]。第一个好理解,因为ajax使用的post方式传参;那第二个?接着向下看,这是一个自定义的过滤器。需要在App_Start文件夹下新建类并继承AuthorizeAttribute类,且重写方法OnAuthorization实现验证工作。如下

    你是不是觉得大功告成了呢?还需要关键的一步,就是在html中的form下添加@Html.AntiForgeryToken(),之前在网上搜索的结果是这个@Html.AntiForgeryToken()被放在了js中,总是不对,后来放在html中发现就没有任何的问题了!!
--------------------- 
作者:寒冰屋 
来源:CSDN 
原文:https://blog.csdn.net/mzl87/article/details/79698451 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(MVC)