V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
naquda
V2EX  ›  问与答

简单的展示页面,前后端分离,不用登录,怎么保护后端 API?

  •  
  •   naquda · 2017-07-16 00:17:24 +08:00 · 3316 次点击
    这是一个创建于 2474 天前的主题,其中的信息可能已经有所发展或是发生改变。

    查了下,一般说道前后端分离,保护 api,就是 JSON Web Token 之类的方法, 都是用户登录产生 TOKEN 来保护 API, 如果只是简单的展示页面,但又不想 API 可以被别人直接访问, 该如何保护?

    7 条回复    2017-07-16 01:48:33 +08:00
    UnisandK
        1
    UnisandK  
       2017-07-16 00:21:01 +08:00
    API 传输的内容加个密,解密的 JS 再上个混淆?
    ericls
        2
    ericls  
       2017-07-16 00:23:03 +08:00 via iPhone
    Server side render
    bazingaterry
        3
    bazingaterry  
       2017-07-16 00:24:02 +08:00 via iPhone
    我也只想到了 JS 混淆,但是如果对方直接拿 WebDriver 那一类的爬估计也是没办法了……
    xfspace
        4
    xfspace  
       2017-07-16 00:24:22 +08:00 via Android
    展示还用原始数据?不都是随手生成么
    oh
        5
    oh  
       2017-07-16 00:48:02 +08:00
    我想说 token 不一定要用户登录才产生,开启 app 的时候也可以产生,用户登录 是一个授权的一种,但授权不一定是用户登录。
    我印象中,之前抓包 iOS 版的 什么值得买 就对设备 id 产生了一个 token,现在不知有没有改过( app 已经改版了),楼主可以看看。
    naquda
        6
    naquda  
    OP
       2017-07-16 00:57:55 +08:00
    也不能完全说是展示, 比如,实现一个功能,这个功能是需要后端参与的, 以前靠模板渲染, 后端自然是隐藏的, 但现在如果前后端分离, 前端 JS 势必要调用后端 API, 但又不想这个 API 别人拿了 JS 就可以直接访问

    貌似必须 Server side render ? 单页也 OK?
    isbase
        7
    isbase  
       2017-07-16 01:48:33 +08:00 via Android
    @naquda 浏览器有同源策略限制,渲染 HTML 时注入 token,API 附带这个 token
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1282 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:49 · PVG 01:49 · LAX 10:49 · JFK 13:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.