• 请不要在回答技术问题时复制粘贴 AI 生成的内容
CopyPaste
V2EX  ›  程序员

以纯接口的方式做 Web,都用什么方式安全?

  •  1
     
  •   CopyPaste · Apr 8, 2016 via iPhone · 5273 views
    This topic created in 3860 days ago, the information mentioned may be changed or developed.
    Argular 、 React 等默认都用接口来传递数据,那么
    1. 用户登录状态(没有 session 了)
    2. 跨域问题 (跨站安全问题)
    3. 标准的 Restful 接口不安全(比如 /user/<id> 这种方式, id 自增的话很容易被抓走全部信息)

    目前上面几个问题都解决了,只是感觉比较 ugly ,请教有相关项目经验的老司机都用什么方式解决。
    Supplement 1  ·  Apr 8, 2016
    目前用的方案:
    1. JWT
    2. Cors
    3. Hashid
    16 replies  •  2016-04-09 18:25:51 +08:00
    kenshinhu
    kenshinhu
    Apr 8, 2016
    1
    登录这个可以用 auth2.0 之类的方式吧
    lovez
    lovez
    Apr 8, 2016 via Android
    2
    同样有这些困惑
    xujif
    xujif
    Apr 8, 2016
    3
    token=cookies
    跨域可以用 referer 白名单
    可读性和防抓取是互斥的。
    solome
    solome
    Apr 8, 2016
    4
    我目前的做法是加个 Node 层做接口中转。
    slixurd
    slixurd
    Apr 8, 2016
    5
    id 都是使用的 view_id 吧,有人用 snowflake 的 id ,也有人直接用 uuid ,不用自增 id 对外展示是常识....
    另外我们这边也接了个 node 中间层
    jerray
    jerray
    Apr 8, 2016
    6
    加个中间层代理请求,过滤 API 数据,渲染基础模板,存储用户登录态。
    CopyPaste
    CopyPaste
    OP
    Apr 8, 2016 via iPhone
    7
    @slixurd 目前用的 Hashid ,回头看看 snowflake 。
    CopyPaste
    CopyPaste
    OP
    Apr 8, 2016 via iPhone
    8
    @solome
    @slixurd node 中间层处理什么问题?
    billlee
    billlee
    Apr 8, 2016
    9
    跨域应该不是问题啊,如果用 cookies 保持 session, 那么就还是用一次性地 csrf 参数来防跨域。如果 session 是不是用 cookies 保持的,那就更没有跨域问题了。
    dong3580
    dong3580
    Apr 8, 2016
    10
    1.cookies
    2.服务器可以设置请求来源。。。
    3.
    Wicheol
    Wicheol
    Apr 8, 2016 via iPhone
    11
    关注一下
    chac88
    chac88
    Apr 8, 2016 via iPhone
    12
    哈哈,看到有用 jwt 的了
    macrosea
    macrosea
    Apr 9, 2016 via iPhone
    13
    mark
    china521
    china521
    Apr 9, 2016
    14
    localStorage, 放 token, 每次调用 api 传过去.
    CopyPaste
    CopyPaste
    OP
    Apr 9, 2016 via iPhone
    15
    @china521 我们也是这么做的
    CopyPaste
    CopyPaste
    OP
    Apr 9, 2016 via iPhone
    16
    @CopyPaste 是不是很容易被窃取
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5394 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 01:53 · PVG 09:53 · LAX 17:53 · JFK 20:53
    ♥ Do have faith in what you're doing.