C# MVC解决跨站请求伪造(appscan)
参考 ASP.NET MVC 防止跨站请求伪造(CSRF)攻击的方法
View视图代码:
表单内部增加对Html.AntiForgeryToken函数的调用,这会在表单标签里面和Cookie中分别生成一个名为__RequestVerificationToken 的Token
<form action="" class="form-main" method="post" id="postLogin"> @Html.AntiForgeryToken() </form>
Js代码:
Post提交表单(需表单序列化----$("#postLogin").serialize())
$.post("../Account/LoginOn", $("#postLogin").serialize(), function (data) { });
Controllers代码:
控制器中方法体头部加入------[ValidateAntiForgeryToken],在服务器端,会验证这两个Token是否一致(不是相等),如果不一致就会报错。
/// <summary> /// 点击登录 /// </summary> /// <param name="Username"></param> /// <param name="Password"></param> /// <returns></returns> [ValidateAntiForgeryToken] [HttpPost] public string LoginOn(string Username, string Password) { }