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

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

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