【问题标题】:Stop apps to get my SharedPreferences停止应用程序以获取我的 SharedPreferences
【发布时间】:2013-10-12 10:00:05
【问题描述】:

我正在使用 SharedPreferences 来保存用于 HttpPost 请求的登录信息。

我直接使用这些数据通过 php 对用户进行身份验证的问题,所以如果有人创建另一个应用程序只是为了窃取我的应用程序用户 SharedPreferences(用户名,密码),我该如何阻止他?

【问题讨论】:

    标签: android sharedpreferences


    【解决方案1】:

    默认情况下,您的共享偏好设置在内部存储中。这是您的应用程序私有的。其他应用程序无法访问您的首选项文件。例外情况是,如果用户已 root 其设备并以超级用户权限运行其他应用程序。

    【讨论】:

    • 嗯,但是用户如果root了他的手机,他只能偷自己吗?这就是我从你和stackoverflow上的另一个问题中了解到的。谢谢
    • @GagelGagel:“他只能偷自己?” -- 用户以超级用户权限运行的应用程序可以做他们想做的事。 通常,这意味着用户最多只会查看她自己的数据。
    • 好吧,从技术上讲,正如您所说,用户以超级用户权限运行的应用程序可以做他们想做的事。因此,如果 root 手机的用户不小心安装了一些遍历所有共享偏好并将信息发送给第三方的应用程序,那么手机上的任何内容都可能被盗,除了一些复杂的加密之外,没有其他方法可以保护它。
    • @amoiseyev 是的,任何东西都可能被盗,现在没有任何系统是 100% 安全的。问题:如何将用户信息存储到 SQLite 数据库中?安全吗?
    【解决方案2】:

    @GagelGagel:又一次:以管理权限运行的应用程序可以做任何事情。从字面上看 - 任何东西。您可以尝试通过使用您自己的密钥和您自己的加密算法缺陷来加密信息来防止窃取数据 - 但更合理的说法是“如果您已将手机植根并且信息被盗,那是您的问题”。具体到您的问题:不,SQL 并没有为 root 手机上的恶意软件提供太多保护。

    【讨论】:

    • 我使用共享首选项为每个用户帐户存储一个访问令牌密钥,如果被另一个人窃取,他可以执行任何操作,例如删除帖子、更改信息...我认为没有办法保护共享偏好。 @amoiseyev 先生,感谢您提供的信息。
    猜你喜欢
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多