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

  • 先看看js端的相关代码

下面是ajax部分代码

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

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

你是不是觉得大功告成了呢?还需要关键的一步,就是在html中的form下添加@Html.AntiForgeryToken(),之前在网上搜索的结果是这个@Html.AntiForgeryToken()被放在了js中,总是不对,后来放在html中发现就没有任何的问题了!!

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

  1. 防止跨站请求伪造(CSRF)攻击 和 防重复提交 的方法的实现

    CSRF的概念可以参考:http://netsecurity.51cto.com/art/200812/102951.htm 本文介绍的是基于spring拦截器的Spring MVC实现 首先配置拦截 ...

  2. 我要学ASP.NET MVC 3.0(十三): MVC 3.0 防止跨站点请求伪造 (CSRF) 攻击

    我要学ASP.NET MVC 3.0(十三): MVC 3.0 防止跨站点请求伪造 (CSRF) 攻击 概述      众所周知,ASP.Net MVC程序在浏览器运行时产生了标准的Html标签,包括 ...

  3. ajax刷新iframe页面,通过iframe实现简单的ajax表单提交

    之前做项目都是用现成的jquery插件实现表单的校验以及ajax提交,但是今天有个简单的头像图片ajax上传,以及一个很简单的表单提交,实在不想引入一个插件了,本着代码量最小,最简单的原则,照着豆瓣照 ...

  4. 使用HTML5 FormData轻松完成Ajax表单提交

    在我们的日常开发中,经常都会用到Ajax来提交表单.让我们来看一个典型的例子: <form id="myform" action="webservice.php&q ...

  5. ajax提交输入内容,当输入用于提交时,AJAX表单提交

    我有一位设计师坚持通过点击回车和由AJAX提交的帖子和由Fancybox提供的回复提交的单个表单域.问题是return false不能阻止页面的提交.当输入用于提交时,AJAX表单提交 我在那里做错了 ...

  6. php提交后刷新父页面,jquery – php ajax表单提交没有刷新父页面

    我有一些问题的ajax表单提交 $("#send").on("click", function() { $.ajax({ type: "POST&qu ...

  7. Form 表单提交 和 Ajax 表单提交 的一些区别

    自己一些心得体会: 1:form 表单提交后进行后台处理程序,没有直接返回值,只能进行后台处理,Form标签里的所有数据全部提交到后台 ajax 表单提交,是可以局部提交,具有ajax的所有属性... ...

  8. web 表单自定义字段_带有自定义服务器字段验证的AJAX表单提交

    web 表单自定义字段 Overview 总览 This article presents a method for validating form data in a PHP script usin ...

  9. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)...

    python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页) 一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 fro ...

最新文章

  1. javascript+HTMl5游戏下载,开发一个都能月薪上万!舅服你
  2. [00004]-[2015-07-16]-[00]-[VC++ 开发Activity控件基础]
  3. oracle删除universal,Oracle自带的Universal Installer卸载存在问题
  4. plsql保持长连接_知乎千万级高性能长连接网关是如何搭建的
  5. Http Core学习(Http Components 翻译和学习)
  6. Java、JSP基于Java的题库管理系统的设计与实现
  7. 深圳恒波软件公司LockDir加密软件原理与破解
  8. 抽奖活动软件 html,webAPP最常用的活动促销案例:大转盘H5抽奖特效
  9. win10怎么新建计算机用户,安装win10的过程 如何设置账户
  10. python实现电子邮件编程
  11. 卷尺精度标准_钢卷尺精度等级介绍
  12. oracle导出BOM文件,ORACLE ERP导数据(BOM清单)
  13. 关于最近很火的Python圣诞树
  14. 有哪些对树莓派的有趣改造和扩展应用?
  15. linux下面安装和配置nginx
  16. 惊!Linux居然可以这样破解WiFi密码,竟然是?
  17. 锦囊妙计——策略模式
  18. linux文件操作学习3
  19. [ 网络协议篇 ] 一篇文章让你掌握神秘的 ACL
  20. 南大周志华写的For Potential Students

热门文章

  1. 锤子t1重置后怎么显示无服务器,解决锤子手机smartisanT1关机后无法正常开机(附带刷机教程图文)...
  2. java中找不到javax包_logstash 找不到 java 环境
  3. 支付页面设计灵感|最美剁手的正确姿势!
  4. 欧式墙纸素材高清纹样图案,美观又大气
  5. mysql pdo prepare_php pdo prepare真的安全吗
  6. python能够处理图像的第三方库_基于图像预处理的几个库
  7. mysql 堵塞_Mysql解决USE DB堵塞详解
  8. python开发技术详解代码_python开发技术详解(四)
  9. Linux内核内存管理(1):内存块 - memblock
  10. 51单片机18B20测温1602LCD显示