zoukankan      html  css  js  c++  java
  • 前端网络安全——前端CSRF

    CSRF:Cross Site Request Forgy(跨站请求伪造)

    用户打开另外一个网站,可以对本网站进行操作或攻击。容易产生传播蠕虫。

    CSRF攻击原理:

    1、用户先登录A网站

    2、A网站确认身份返回用户信息

    3、B网站冒充用户信息而不是直接获取用户信息,从B网站页面向A网站发起请求(携带A网站身份)

    CSRF危害:

    利用用户登录态

    用户不知情

    完成业务请求

    盗取用户资金

    冒充用户发帖

    损坏网站名誉等等

    如何防御CSRF:

    原理步骤3具体细节:

      (1)B网站向A网站请求

      (2)带A网站Cookies

      (3)不访问A网站前端

      (4)referer为B网站

    通过这些细节特征我们可以制定以下防御策略:

    1、禁止第三方网站带Cookies,cookies中新增了same-site属性可禁止,缺点是浏览器兼容性。

    2、在A网站前端加入验证信息,只有访问A网站获得验证信息才能正确发送请求。如验证码,token。

    token防御的关键是cookies和表单或者页面中都要存储token值,cookie的值和页面的值需要做比对。

    初级做法有个弊端,只有最后一个页签的token可以使用,前面打开的页签token会失效。

    解决token失效问题可以给token设置有效时长存储多个token,过期token提示用户刷新页面从而获取新token。

    3、验证referer,禁止来自第三方网站的请求。验证时需要代码严格验证,不然可以使用带参数来绕过非严格验证的判断。

    放弃安逸,持续努力——成长
  • 相关阅读:
    后台数据显示在网页(通过ajax获取内容)二
    获取后台数据显示在网页(一)
    访问后台方法
    input的placeholder字体大小无法修改?
    cssText()
    flex属性值----弹性盒子布局
    多栏布局
    怎么在ng-repeat生成的元素上操作dom
    css实现一行文字居中,多行文字左对齐
    变形属性 transform
  • 原文地址:https://www.cnblogs.com/MarsPGY/p/15808251.html
Copyright © 2011-2022 走看看