【问题标题】:Server Data only accessible by own application服务器数据只能由自己的应用程序访问
【发布时间】:2016-03-04 04:50:50
【问题描述】:

我想问是否有人知道从我自己编写的 android 应用程序我的服务器访问 only 的方法。 android 应用程序正在通过 http 请求 (POST) 访问数据,仍然可能有另一个人会找到 xxxxx.php 的链接并从另一个地方访问数据(不是我自己的 android 应用程序)。

我已经做的是,只有在给出所有需要的参数和一个特殊的生成密钥(在特殊条件下会改变)时,才能访问数据。仍然这个密钥不会每秒或每分钟改变一次,所以当攻击者现在有一个密钥时,他仍然可以在一段时间内访问我的数据。

那么有没有办法限制我的应用程序访问我的服务器?

【问题讨论】:

  • 使用该应用程序的用户是否“登录”?如果是这样,那么您可以限制对其会话的访问。如果没有,那么未经身份验证的用户已经可以访问它。
  • 如何在 RESTful 客户端-服务器架构中处理身份验证:stackoverflow.com/questions/319530/restful-authentication/…
  • 攻击者如何获取密钥?
  • @Steve 我假设只是嗅探设备上的网络流量会很快发现它,除非有 SSL 连接。如果没有,那么他们可能必须能够反编译应用程序才能访问密钥(除非密钥被写入文件系统的某处)
  • @samlev 是的,这就是我试图建立的——简单地使用 SSL,并为每个用户帐户提供一个唯一的密钥(因此可以简单地停用被滥用的密钥)可能是要走的路。我有一种似曾相识的感觉,克里斯,你之前有没有问过这个问题

标签: php android security server


【解决方案1】:

这是无法做到的。这是不可能的。你无法控制客户端。

您能做的最好的事情就是在您的应用中嵌入一些秘密信息,并尝试对其他人隐藏。聪明的黑客会root他们的手机,并在你的应用程序上附加一个调试器,然后找到那个秘密。

这里有一些反调试技巧:What is your favourite anti-debugging trick?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2013-07-25
    相关资源
    最近更新 更多