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

2018-11-21 16:21:45 +08:00
 insert000

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

2173 次点击
所在节点    问与答
4 条回复
kkikk
2018-11-21 16:50:37 +08:00
你先看看 csrf 的定义吧
核心在于自己域名的 cookie 不能被第三方读取修改 你这三个问题根本不存在
实现的话看看 django 的 csrf.py 就好
EvilCult
2018-11-21 17:01:18 +08:00
顺着楼上
你这说说的不像是 CSRF,倒像是在说 JWT...
也可以顺便看看.
tomczhen
2018-11-21 17:02:46 +08:00
csrf 的前提是基于浏览器,如果基于浏览器那么这三个问题要么不用考虑,要么无解。

想规避业务风险,只能往别的方向。
jswh
2018-11-21 18:06:32 +08:00
同楼上,这不是 CSRF,是接口鉴权。

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

你这个攻击方都拥有客户端的权限了,你拦不住的。所有基于 HTTP 的接口都可以直接模拟的,只能说增加解析的难度。比如说,对传输的内容加密。然后代码混淆别人找不到你的加密方式,就没法正常的调用 api.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/510077

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX