• 防范CSRF(一)


    CSRF是跨网站伪造请求的缩写。大致的攻击流程是,黑客获得浏览器向服务器发送的请求,然后对请求进行修改,让服务器执行指定的操作。

    防范方式可以使用微软提供的解决方案。

    View放置Html.AntiForgeryToken();后端在需要接收验证的方法上面打上特性标签[ValidateAntiForgeryToken]即可。

    示例如下:

    View代码:

    <div>
    防范CSRF攻击说明
    <p>前端加上@Html.AntiForgeryToken();后端加上[ValidateAntiForgeryToken]</p>
    @using (Html.BeginForm("Test", "Home", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
    {
      @Html.AntiForgeryToken();
      <div>
        <input type="text" name="textValue" class="form-control" value="" />
      </div>
      <div>
        <input type="submit" value="测试" class="btn btn-primary" />
      </div>
    }
    </div>

    Controller代码:

    [ValidateAntiForgeryToken]
    public ActionResult Test()
    {
      return null;
    }

    原理:

    在用户进入页面的时候,会产生一份名为_RequestVerificationToken的cookie,内容是经过编码的信息,发送请求时,先检查这个cookie中的这个信息是否存在,然后才去检查其余内容是否正确,如果正确才会放行。

  • 相关阅读:
    Chapter 1. 数据库(介绍、主键、外键)
    练习、悬浮标签、导航菜单
    Chapter 3. document对象
    Chapter 3. JavaScript
    Chapter 2. HTML---CSS样式表(格式与布局)
    Chapter 2. HTML---CSS样式表
    12月26 一维数组
    12月23 语句
    12月23 运算符
    12月21 vs2012 数据类型
  • 原文地址:https://www.cnblogs.com/sunice/p/6286354.html
Copyright © 2020-2023  润新知