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)
        {
         }    

 

posted @ 2019-07-09 14:49  哈库拉灬玛塔塔  阅读(825)  评论(0编辑  收藏  举报