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

Restful api 如何保障跨域访问安全性?

  •  
  •   a199261800 · Aug 10, 2016 · 5838 views
    This topic created in 3590 days ago, the information mentioned may be changed or developed.

    各位可以从各后端语言或者前端框架说说吗?

    15 replies    2016-08-10 16:24:56 +08:00
    laoyur
        1
    laoyur  
       Aug 10, 2016
    JSON Web Token ?
    a199261800
        2
    a199261800  
    OP
       Aug 10, 2016
    @laoyur 有一个场景,我想直接通过前端 js 调用后端的一个删除 model 的 api 。
    我的做法是这个请求里面包含了 token 信息和 modelID ,可是如果被别人从 js 文件里面看到 token 怎么破?
    laoyur
        3
    laoyur  
       Aug 10, 2016   ❤️ 1
    1. 上 https
    2. 页面登录后返回 JSON Web Token 过来
    3. 访问 API 时, header 里面带上 JSON Web Token
    lee015
        4
    lee015  
       Aug 10, 2016 via Android
    1 楼说的 jwt 可以的,先从服务器取一次 jwt 生成的 token 存起来,请求时带上服务器验证。
    qinxi
        5
    qinxi  
       Aug 10, 2016
    参考 spring session 的方式,其实就是 3 楼那种
    a199261800
        6
    a199261800  
    OP
       Aug 10, 2016
    @laoyur get 到,多谢!!!
    neosfung
        7
    neosfung  
       Aug 10, 2016
    lz 问的是如果别人在 js 文件中看到 token 怎么办
    我觉得这个还真的没办法
    kanezeng
        8
    kanezeng  
       Aug 10, 2016
    @neosfung token 是登陆之后给每个用户单独生成的啊,不存在于 js 文件中啊。
    a199261800
        9
    a199261800  
    OP
       Aug 10, 2016
    @kanezeng 想到一个问题,我的请求是纯 js 的,但是如果有登录的话,是不是登录信息也在 js 这边暴露了?
    jarlyyn
        10
    jarlyyn  
       Aug 10, 2016
    楼主到底在问啥……

    如果只传输过程的安全的话, https 。

    如果只代码安全的话,能得到 token 的就是有帐号密码的人。

    别人都有帐号密码了,到底问题是啥?

    怕浏览器开发商偷你的资料?
    kanezeng
        11
    kanezeng  
       Aug 10, 2016
    @a199261800 你的 js 应该是读取登陆框的用户名和密码信息啊,然后通过 https 发送到服务器。服务器验证通过后返回一个针对这个登陆的 JWT 给你啊。 JS 里面只有业务逻辑,没有登录信息啊?
    tabris17
        12
    tabris17  
       Aug 10, 2016
    Restful 关跨域什么事?风马牛不相及的事情

    你要说身份验证和权限验证的方式,倒是有很多
    murmur
        13
    murmur  
       Aug 10, 2016
    什么叫跨域的安全性?首先保证你能用 https 如果 token 丢了神仙都救不了你
    jackmasa
        14
    jackmasa  
       Aug 10, 2016
    你对一些安全概念缺少了解,比如: CSRF 、 token
    vjnjc
        15
    vjnjc  
       Aug 10, 2016
    @jarlyyn 同意。。。楼主只是纯粹的担心吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5900 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 02:08 · PVG 10:08 · LAX 19:08 · JFK 22:08
    ♥ Do have faith in what you're doing.