V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
WastedTime
V2EX  ›  iOS

iOS 开发中的一个疑惑

  •  1
     
  •   WastedTime · 2015-11-07 08:37:34 +08:00 · 3280 次点击
    这是一个创建于 3300 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个客户端应用,比如说微博的第三方客户端,应该把 api_secret_key 这种重要的常量放到项目的哪个位置?如果被逆向了是不是这个 api_secret_key 也会泄漏?

    11 条回复    2015-11-09 13:13:42 +08:00
    XcodeUser
        1
    XcodeUser  
       2015-11-07 09:02:14 +08:00
    keychain
    pheyer
        2
    pheyer  
       2015-11-07 09:35:15 +08:00
    @XcodeUser 越狱后 keychain 一样不安全, http://bobao.360.cn/learning/detail/324.html
    WildCat
        3
    WildCat  
       2015-11-07 09:36:49 +08:00
    GPU
        4
    GPU  
       2015-11-07 11:03:23 +08:00
    keychain 可以保存 app 的登录密码的吗原来 。

    怎么用的?
    squid157
        5
    squid157  
       2015-11-07 11:06:46 +08:00
    API Key 放在客户端 这个我觉得不合适 应该放在你们的服务器吧 客户端不直接调用上面的 API 而是调用你们服务器的 API

    然后再考虑你们内部的 api_key 怎么处理

    这样有 key 泄露了也好处理
    zts1993
        6
    zts1993  
       2015-11-07 12:05:08 +08:00 via iPhone
    我来看头像
    WastedTime
        7
    WastedTime  
    OP
       2015-11-07 12:20:03 +08:00
    @squid157 我觉得这样其实没有从本质上解决问题,不过还是感谢你
    daniellu
        8
    daniellu  
       2015-11-07 20:39:17 +08:00
    @pheyer 谈越狱后 就没啥好谈的了 就算加密了 又能怎么样 ipa 发向工程 还是可以破解的
    so898
        9
    so898  
       2015-11-08 00:33:55 +08:00
    以前针对微博(算是 OAuth 2.0 )这种验证研究过
    具体来说就是你的 Secret 应该存在你的服务器上,通过那个回掉的 URL 获取用户的 Access Token
    以前有些 SDK 会在用户登录的时候拦截 URI 跳转,然后通过应用拿回用户的 Access Token ,这样确实省了一个服务器成本,但是 Secret 就得保存在本地,而且傻逼微博获取 Access Token 的接口是 get 的, ssl 也无法防止用户拦截获取你的 Secret
    WastedTime
        10
    WastedTime  
    OP
       2015-11-09 13:05:06 +08:00
    找到一篇可供参考的解决方案: http://stackoverflow.com/questions/14778429/secure-keys-in-ios-app-scenario-is-it-safe 我想这就是上面各位说的把 secret key 放到服务器端来保护。看来服务器这一层目前是免不了了,那我干脆在服务器这层把翻墙代理一起弄了,这样就可以做出在国内可用的 Twitter 客户端了 XD ,一个思路,不一定对。
    WastedTime
        11
    WastedTime  
    OP
       2015-11-09 13:13:42 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3669 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 10:44 · PVG 18:44 · LAX 02:44 · JFK 05:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.