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

Android 如何安全的从数据库获取内容?

  •  
  •   supman · 2016-10-01 13:48:03 +08:00 via iPad · 1674 次点击
    这是一个创建于 2756 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果在 app 内已保持数据库密码 貌似很不安全 那么 请问还有什么方法呢? 如果通过 api 获取 岂不是也能被截取 然后被抓包再发包?
    6 条回复    2016-10-02 11:10:18 +08:00
    bdbai
        1
    bdbai  
       2016-10-01 14:05:06 +08:00 via Android
    让应用直接操作数据库太危险,用 web service 封装一下。应用和服务器之间用 HTTPS 通讯,可以阻止内容被他人看到。
    cmxz
        2
    cmxz  
       2016-10-01 16:07:52 +08:00 via Android
    如果应用内直接保存数据库的用户名密码,攻击者拿到后可以直连数据库进行操作,你能做的只是针对 app 内内置的数据库账号做一些权限限制
    如果通过 api 方式,你可以在 api 里限制单用户可获取到的数据内容和范围,即使是被抓包重发,攻击者也只是能拿到自己账号下的数据(api 如果存在越权或注入另说)
    txlty
        3
    txlty  
       2016-10-01 16:43:52 +08:00
    咋能让客户端直接访问数据库?!这不只是安卓开发的问题吧。
    txlty
        4
    txlty  
       2016-10-01 16:46:44 +08:00
    等一下。好像也可以,如果使用的数据库有完善的权限控制机制,且使用的版本无公开漏洞。
    那么公开一个只读帐号(修改自身密码的权限都不给),其实也可以。
    htfy96
        5
    htfy96  
       2016-10-01 17:18:17 +08:00 via Android
    @txlty 构造长查询阻塞服务器
    20150517
        6
    20150517  
       2016-10-02 11:10:18 +08:00
    @bdbai 没用的,装个证书然后 MIMD 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5721 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:16 · PVG 10:16 · LAX 19:16 · JFK 22:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.