亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

切記ajax中要帶上AntiForgeryToken防止CSRF攻擊

2024-09-01 08:28:19
字體:
來源:轉載
供稿:網友

經??吹皆陧椖恐衋jax post數據到服務器不加防偽標記,造成CSRF攻擊

在Asp.net Mvc里加入防偽標記很簡單在表單中加入Html.AntiForgeryToken()即可。

Html.AntiForgeryToken()會生成一對加密的字符串,分別存放在Cookies 和 input 中。

我們在ajax post中也帶上AntiForgeryToken

@model WebApplication1.Controllers.Person@{ ViewBag.Title = "Index";}<h2>Index</h2><form id="form1"> <div class="form-horizontal">  <h4>Persen</h4>  <hr />  @Html.ValidationSummary(true, "", new { @class = "text-danger" })  <div class="form-group">   @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })   <div class="col-md-10">    @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })    @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })   </div>  </div>  <div class="form-group">   @Html.LabelFor(model => model.Age, htmlAttributes: new { @class = "control-label col-md-2" })   <div class="col-md-10">    @Html.EditorFor(model => model.Age, new { htmlAttributes = new { @class = "form-control" } })    @Html.ValidationMessageFor(model => model.Age, "", new { @class = "text-danger" })   </div>  </div>  <div class="form-group">   <div class="col-md-offset-2 col-md-10">    <input type="button" id="save" value="Create" class="btn btn-default" />   </div>  </div> </div></form><script src="~/Scripts/jquery-1.10.2.min.js"></script><script src="~/Scripts/jquery.validate.min.js"></script><script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script><script type="text/javascript"> $(function () {  //var token = $('[name=__RequestVerificationToken]');  //獲取防偽標記  var token = $('@Html.AntiForgeryToken()').val();  var headers = {};  //防偽標記放入headers  //也可以將防偽標記放入data  headers["__RequestVerificationToken"] = token;  $("#save").click(function () {   $.ajax({    type: 'POST',    url: '/Home/Index',    cache: false,    headers: headers,    data: { Name: "yangwen", Age: "1" },    success: function (data) {     alert(data)    },    error: function () {     alert("Error")    }   });  }) })</script>

放在cookies里面的加密字符串

控制器中代碼

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Web;using System.Web.Helpers;using System.Web.Mvc;namespace WebApplication1.Controllers { public class HomeController : Controller  {  public ActionResult Index()   {   return View();   }  [HttpPost]  [MyValidateAntiForgeryToken]  public ActionResult Index(Person p)   {   return Json(true, JsonRequestBehavior.AllowGet);   }  } public class Person  {  public string Name { get; set; }  public int Age { get; set; }  } public class MyValidateAntiForgeryToken : AuthorizeAttribute  {  public override void OnAuthorization(AuthorizationContext filterContext)   {   var request = filterContext.HttpContext.Request;   if (request.HttpMethod == WebRequestMethods.Http.Post)    {      if (request.IsAjaxRequest())     {     var antiForgeryCookie = request.Cookies[AntiForgeryConfig.CookieName];     var cookieValue = antiForgeryCookie != null      ? antiForgeryCookie.Value      : null;     //從cookies 和 Headers 中 驗證防偽標記     //這里可以加try-catch     AntiForgery.Validate(cookieValue, request.Headers["__RequestVerificationToken"]);     }    else     {     new ValidateAntiForgeryTokenAttribute()      .OnAuthorization(filterContext);     }    }   }  } }            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩电影中文字幕| 久久精品视频播放| 日韩精品极品视频| 国产日韩中文字幕在线| 亚洲欧美制服中文字幕| 国产欧美一区二区三区久久人妖| 日韩精品中文字幕有码专区| 久久久电影免费观看完整版| 日韩最新中文字幕电影免费看| 91国产精品视频在线| 日韩精品视频中文在线观看| 色偷偷偷综合中文字幕;dd| 伊是香蕉大人久久| 欧美电影在线观看完整版| 国产精品久久久久免费a∨| 中文字幕国产精品久久| 精品久久久久久中文字幕一区奶水| 欧美激情第6页| 久热爱精品视频线路一| 国产一区二区色| 久久久久久免费精品| 亚洲爱爱爱爱爱| 欧美激情国产精品| 91精品免费视频| 久久夜精品香蕉| 久久九九国产精品怡红院| 亚洲精品之草原avav久久| 国产精品一二三在线| 97精品国产97久久久久久春色| 久久久久久12| 成人福利在线视频| 久久精品国产v日韩v亚洲| 91av在线免费观看| 精品国产乱码久久久久久天美| 国产成人短视频| 国产精品视频内| 91国内产香蕉| 久久欧美在线电影| 欧美午夜片欧美片在线观看| 最好看的2019的中文字幕视频| 91香蕉亚洲精品| 一区二区三区视频在线| 日韩精品中文字| 影音先锋欧美精品| 4438全国成人免费| 日韩精品久久久久| 国产成人在线精品| 亚洲综合日韩中文字幕v在线| 日韩av在线天堂网| 国产91精品最新在线播放| 色诱女教师一区二区三区| 亚洲一区二区少妇| 久久久国产视频| 亚洲一区久久久| 韩日欧美一区二区| 国产精品久久久久久久久免费| 欧美日本啪啪无遮挡网站| 亚洲影影院av| 欧美在线国产精品| 欧美性高潮在线| 欧美国产极速在线| 亚洲a一级视频| 精品久久久久久电影| 欧美一区二区视频97| 欧美激情视频网| 欧美在线欧美在线| 91精品视频观看| 久久亚洲影音av资源网| 欧美日韩激情美女| 亚洲激情电影中文字幕| 国产精品久久久久久久久影视| 精品久久国产精品| 久久精品视频va| 奇米四色中文综合久久| 国产一区二区三区日韩欧美| 亚洲国产古装精品网站| 亚洲久久久久久久久久| 久久九九精品99国产精品| 亚洲国产女人aaa毛片在线| 国产精品入口夜色视频大尺度| 欧美专区在线视频| 久久久久久久av| 欧美日韩中国免费专区在线看| 久久成人精品电影| 久久av中文字幕| 欧美日韩国产综合新一区| 亚洲精品久久久久久久久| 欧美有码在线观看视频| 欧美三级xxx| 91视频8mav| 久久精品91久久久久久再现| 国产日本欧美视频| 欧美激情视频网| 7m第一福利500精品视频| 91色琪琪电影亚洲精品久久| 成人网在线免费观看| 亚洲自拍偷拍视频| 伊人伊人伊人久久| 国内精品久久久久久久| 欧美大肥婆大肥bbbbb| 亚洲国产精品人久久电影| 欧美日韩成人免费| 国产日韩欧美视频| 奇门遁甲1982国语版免费观看高清| 国产一区欧美二区三区| 日本久久亚洲电影| 日韩欧美精品网址| 欧美老女人xx| 日韩精品福利在线| 久久伊人精品天天| 4444欧美成人kkkk| 91热福利电影| 免费97视频在线精品国自产拍| 精品久久香蕉国产线看观看亚洲| 高清一区二区三区四区五区| 欧美最顶级丰满的aⅴ艳星| 成人免费自拍视频| 日韩av网站在线| 国产精品成人久久久久| 亚洲色图偷窥自拍| 欧美亚洲成人免费| 午夜精品免费视频| 久久久电影免费观看完整版| 欧美色xxxx| 性欧美激情精品| 国产小视频国产精品| 国产精品美女久久| 成人免费观看a| 中文字幕v亚洲ⅴv天堂| wwwwwwww亚洲| 国产精品综合网站| 97国产精品视频人人做人人爱| 国产91露脸中文字幕在线| 欧美日韩国产影院| 26uuu另类亚洲欧美日本一| 亚洲一区二区三区sesese| 亚洲国产成人精品女人久久久| 成人美女av在线直播| 久久网福利资源网站| 精品国产一区二区在线| 黑人精品xxx一区一二区| 欧美怡红院视频一区二区三区| 欧美成人亚洲成人日韩成人| 久久久久久一区二区三区| 久久精品最新地址| 91九色国产视频| 亚洲国产97在线精品一区| 亚洲精品99999| 97精品一区二区视频在线观看| 亚洲最大福利视频| 欧美极品少妇全裸体| 久久精品视频导航| 亚洲色图美腿丝袜| 国产免费久久av| 国产精品福利在线| 97久久国产精品| 久久成人精品电影| 日本精品一区二区三区在线播放视频| 69影院欧美专区视频| 欧美午夜激情在线| 亚洲成人av中文字幕| 欧美孕妇毛茸茸xxxx| 亚洲在线第一页| 91色精品视频在线|