insert000
V2EX  ›  问与答

前后端分离架构下 CSRF,求比较好的实现机制

  •  
  •   insert000 · Nov 21, 2018 · 3098 views
    This topic created in 2748 days ago, the information mentioned may be changed or developed.

    疑问: 1、如何把 token 下发给前端,让其请求的时候带上来 2、假设单独出一个生产 token 的接口给前端用于获取 token,那么这个接口一旦暴露出来,等于 token 可以被三方来生成 3、如果依靠 refer 来验证下发接口的安全域名,应该也是可以伪造的

    4 replies    2018-11-21 18:06:32 +08:00
    kkikk
        1
    kkikk  
       Nov 21, 2018
    你先看看 csrf 的定义吧
    核心在于自己域名的 cookie 不能被第三方读取修改 你这三个问题根本不存在
    实现的话看看 django 的 csrf.py 就好
    EvilCult
        2
    EvilCult  
       Nov 21, 2018
    顺着楼上
    你这说说的不像是 CSRF,倒像是在说 JWT...
    也可以顺便看看.
    tomczhen
        3
    tomczhen  
       Nov 21, 2018 via Android
    csrf 的前提是基于浏览器,如果基于浏览器那么这三个问题要么不用考虑,要么无解。

    想规避业务风险,只能往别的方向。
    jswh
        4
    jswh  
       Nov 21, 2018
    同楼上,这不是 CSRF,是接口鉴权。

    2.假设单独出一个生产 token 的接口给前端用于获取 token,那么这个接口一旦暴露出来,等于 token 可以被三方来生成

    你这个攻击方都拥有客户端的权限了,你拦不住的。所有基于 HTTP 的接口都可以直接模拟的,只能说增加解析的难度。比如说,对传输的内容加密。然后代码混淆别人找不到你的加密方式,就没法正常的调用 api.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   954 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:46 · PVG 02:46 · LAX 11:46 · JFK 14:46
    ♥ Do have faith in what you're doing.