【问题标题】:How to secure Android-php connection?如何保护 Android-php 连接?
【发布时间】:2012-02-17 13:01:10
【问题描述】:

我正在构建一个 Android 应用程序,它必须向我的 mysql 数据库发送一些信息。我试图实现的机制是基于 JSON、php、Mysql 的组合。不幸的是,当涉及到这些主题时,我不是老手。正如我正确理解的那样,php-Mysql 连接始终是安全的——除了我之外,没有人可以看到我将用户名和密码写入数据库的 php 脚本的来源。现在棘手的部分是,我的 php 脚本位于 Apache 服务器上,它根本没有受到保护,因此任何人都可以触发它(即使是从桌面浏览器)。我怎样才能防止这种情况?以及如何从我的 Android 设备安全地触发我的 php 脚本? 谢谢

【问题讨论】:

    标签: android


    【解决方案1】:
    1. 使用 SSL。这将加密设备和服务器之间的连接。
    2. 为您的设备使用在服务器上经过验证的客户端 ID/密钥。
    3. 如果您真的担心有人会修改您的应用程序以使用以下方式发送虚假呼叫:同时验证客户端证书(搭载)。 (与 Facebook Android 库和 Google 移动库相同)。

    【讨论】:

    • 好吧,也许我说错了。如何从运行我的应用程序的任何 Android 设备安全地触发我的 php 脚本?
    【解决方案2】:
    1. 使用 ssl,这将加密连接
    2. 在您的 php 页面上设置身份验证机制,您的 android 应用程序将发送凭据
    3. 设置一个随机的pin码,服务器端发送给应用程序,他只对当前会话有效,应用程序需要运行一个函数来生成这个当前号码的正确答案并发送给服务器作为验证,比如服务器发给我的密码:120,我的验证功能是+1密码我会发给服务器121,但我建议使用稍微复杂一点的算法。

    【讨论】:

      【解决方案3】:

      Android 设备与任何其他 HTTP 客户端(例如您的浏览器)没有什么不同。您需要遵循将要使用的相同机制来保护标准网页:

      • 需要登录页面。用户需要提供有效的用户名和密码才能获得访问权限。服务器返回一个会话,该会话通常存储在一个 cookie 中。此question 将帮助您了解如何在 Android 上执行此操作。
      • 为防止他人截获用户名和密码,应通过 HTTPS 进行登录

      【讨论】:

      • 以及如何在我的应用程序中加密 usr/pass?如果我将它们硬编码为字符串,那么它们将在编译后的 apk 文件中可见,因此任何人都可以阅读它们
      • 您需要遵循注册方案。用户需要注册才能访问对他们进行身份验证的用户名和密码。然后你需要以某种方式进行授权。
      【解决方案4】:

      最直观的方法是使用 Https 连接对用户进行身份验证(用户名 + 密码),有更好的安全身份验证类型,例如 OAuth,请参阅:http://code.google.com/p/oauth-signpost/

      【讨论】:

        猜你喜欢
        • 2015-08-18
        • 2013-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多