supman
V2EX  ›  问与答

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

  •  
  •   supman · Oct 1, 2016 via iPad · 2488 views
    This topic created in 3693 days ago, the information mentioned may be changed or developed.
    如果在 app 内已保持数据库密码 貌似很不安全 那么 请问还有什么方法呢? 如果通过 api 获取 岂不是也能被截取 然后被抓包再发包?
    6 replies  •  2016-10-02 11:10:18 +08:00
    bdbai
    bdbai
    Oct 1, 2016 via Android
    1
    让应用直接操作数据库太危险,用 web service 封装一下。应用和服务器之间用 HTTPS 通讯,可以阻止内容被他人看到。
    cmxz
    cmxz
    Oct 1, 2016 via Android
    2
    如果应用内直接保存数据库的用户名密码,攻击者拿到后可以直连数据库进行操作,你能做的只是针对 app 内内置的数据库账号做一些权限限制
    如果通过 api 方式,你可以在 api 里限制单用户可获取到的数据内容和范围,即使是被抓包重发,攻击者也只是能拿到自己账号下的数据(api 如果存在越权或注入另说)
    txlty
    txlty
    Oct 1, 2016
    3
    咋能让客户端直接访问数据库?!这不只是安卓开发的问题吧。
    txlty
    txlty
    Oct 1, 2016
    4
    等一下。好像也可以,如果使用的数据库有完善的权限控制机制,且使用的版本无公开漏洞。
    那么公开一个只读帐号(修改自身密码的权限都不给),其实也可以。
    htfy96
    htfy96
    Oct 1, 2016 via Android
    5
    @txlty 构造长查询阻塞服务器
    20150517
    20150517
    Oct 2, 2016
    6
    @bdbai 没用的,装个证书然后 MIMD 就行了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4387 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 06:56 · PVG 14:56 · LAX 22:56 · JFK 01:56
    ♥ Do have faith in what you're doing.