MVC防止xss攻击 ——Html.AntiForgeryToken的AJAX提交
1、在Html表单里面使用了@Html.AntiForgeryToken()就可以阻止CSRF攻击。
2、相应的我们要在Controller中也要加入[ValidateAntiForgeryToken]过滤特性。该特性表示检测服务器请求是否被篡改。注意:该特性只能用于post请求,get请求无效。
3、至于JS,我们的项目中引用的是<script src="@Url.Content("~/Content/js/jqueryToken-1.4.2.js")" type="text/JavaScript"></script>
在JS时要使用: $.ajaxAntiForgery才行,
如:
$.ajaxAntiForgery({
type: "post",
data: { GroupName: $("#GroupName").val(), GroupPhones: $("#GroupPhones").val() },
dataType: "json",
url: "/Event/Mass/AddGroup",
success: function (data) {
if (data) {
alert("添加成功 ");
$.unblockUI();
}
else {
alert("添加失败 ");
}
}
})
注:对数据进行增删改时要防止csrf攻击!
另外一种方式
public class HomeController : Controller {public ActionResult Index(){return View();}[HttpPost][ValidateAntiForgeryToken]public ActionResult Index(string someValue){return Json(new { someValue = someValue });} }
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "__AjaxAntiForgeryForm" })) {@Html.AntiForgeryToken() }<div id="myDiv" data-url="@Url.Action("Index", "Home")">Click me to send an AJAX request to a controller actiondecorated with the [ValidateAntiForgeryToken] attribute </div><script type="text/javascript">$('#myDiv').submit(function () {var form = $('#__AjaxAntiForgeryForm');var token = $('input[name="__RequestVerificationToken"]', form).val();$.ajax({url: $(this).data('url'),type: 'POST',data: { __RequestVerificationToken: token, someValue: 'some value' },success: function (result) {alert(result.someValue);}});return false;}); </script>
转载于:https://www.cnblogs.com/l1pe1/p/6030841.html
MVC防止xss攻击 ——Html.AntiForgeryToken的AJAX提交相关推荐
- 跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击 一.总结 一句话总结:比如用户留言功能,用户留言中写的是网页可执行代码,例如js代码,然后这段代码在可看到这段留言的不同一户的显示上就会 ...
- PHP预防XSS攻击,ajax跨域攻击的方法
对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlsp ...
- xss过滤器无法处理ajax请求_thunkPHP 预防XSS攻击
比如在有人恶意在你的输入框中或文本域中输入<script>标签,如果不做处理的话,输入框中的<script>会保存到我们数据库中,等到将这个数据拿出来展示的时候,就等于将这个内 ...
- WEB三大攻击之—XSS攻击与防护
From:https://www.daguanren.cc/post/xss-introduction.html XSS的背景与介绍 背景 随着互联网的发展,网站经历由单纯的只读模式到web2.0兴起 ...
- 首次成功实施 XSS 攻击,盗取目标网站大量 VIP 帐号
前言 之前做网站时有做代码防御 XSS(Cross Site Script) 攻击,但是却只处于了解的阶段,并不知道其中具体的原理,更别说使用了.最近有朋友要求我帮助他 Hack 一个网站,达到一定的 ...
- 什么是XSS攻击XSS攻击应用场景
XSS攻击 什么是XSS攻击手段 XSS攻击使用Javascript脚本注入进行攻击 例如在提交表单后,展示到另一个页面,可能会受到XSS脚本注入,读取本地cookie远程发送给黑客服务器端. < ...
- 服务器安全:浏览器同源策略与跨域请求、XSS攻击原理及防御策略、如何防御CSRF攻击
主要包括 浏览器同源策略与跨域请求 XSS攻击原理及防御策略 如何使用SpringSecurity防御CSRF攻击 CC/DDOS攻击与流量攻击 什么是SSL TLS HTTPS? 一.浏览器的同源策 ...
- 网站常见漏洞-- XSS攻击
跨站攻击,即Cross Site Script Execution(通常简写为XSS,因为CSS与层叠样式表同名,故改为XSS) 是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用 ...
- 了解与防御XSS攻击
一. XSS是什么 XSS攻击全称跨站脚本攻击(Cross Site Scripting),是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写 ...
最新文章
- oracle构造过程实例
- 项目中用到的语音识别方案 硬件/软件相关介绍
- Java线程:新特征-有返回值的线程(转)
- 二阶自回归过程matlab,时间序列分析:二阶自回归过程
- Vue+ECharts的小示例
- tolowercase_JavaScript中的String toLowerCase()方法与示例
- java runtime 清屏_【图片】请问java编写中如何做到清屏啊。。。_java吧_百度贴吧...
- 团队个人每天详细计划汇总
- opencv-python中文文档
- Excel表格如何根据身份证号计算年龄
- 康佳电视系统升级服务器地址,康佳电视各平台升级方法及强制刷机汇总
- Python 将tif文件分割成多个小tif
- 厦大计算机考研学硕,2021厦大计算机考研招生、复试、书目专业大解析!
- java如何使截取字符串_java中如何截取字符串中的指定一部分
- Windows Mobil中解决日期显示不正常的方法
- OpenCvSharp 棋盘格标定助手
- 企业数字化转型的步骤是什么?
- Java学习体系(骨灰级详细)
- docker+nginx搭建私有云笔记leanote
- 关于TTS SpeechVoiceSpeakFlags几个值的中文意思?
热门文章
- vue 非es6 写法怎么按须加载_Vue源码必学指南:flow(语法检查)以及rollup(模板打包)...
- OpenCV_02 图像的基本操作:图像IO+绘制图形+像素点+属性+图像通道+色彩空间的改变
- git gui怎么拉取项目代码_Git可视化极简易教程 — Git GUI使用方法
- Web框架——Flask系列之Flask-SQLAlchemy安装与使用 定义数据模型(八)
- LeetCode 1793. 好子数组的最大分数(单调栈)
- LeetCode 1382. 将二叉搜索树变平衡(中序遍历+二分递归)
- LintCode 1689. k求和III(递归)
- blue html中转换,BlueFox Free PDF to HTML Converter(PDF文件转换软件)
- 就业技术书文件表格_就业申请书
- 操作系统是计算机的什么管理者,操作系统是计算机资源的管理者