php - 保护android和php之间的连接

标签 php android

我正在开发一个安卓应用程序,用户可以在其中使用安卓 Facebook SDK 进行注册。我正在使用 Google Volley 库向我的 PHP 页面发出 http 请求,以从 MySql 数据库接收 JSON 数据。我想存储有关用户的个人信息并稍后从数据库中检索它们。我花了一整天的时间在谷歌上寻找如何保护 android-php 连接的方法。我遇到的最流行的解决方案之一是通过 post 请求发送散列键并通过 PHP 验证该散列键。像这样:

if($_POST['secret'] != '3CH6knCsYmvA2fdghfdfgmf3JqmUctCM') {
    header('HTTP/1.1 403 Forbidden');
    error_log("ERROR: wrong secret: " . $_POST['secret']);
    exit("Access denied");
}

上面代码的问题在于一些黑客可以反编译任何 apk 文件并查看代码并轻松找出他们的 key 哈希是什么。由于我没有带有用户名和密码的自定义登录系统来验证用户身份,我可以使用什么来保护 android 和 php 之间的连接?我需要一个示例或指向教程的链接,或任何有关此类问题的既定解决方案的建议。

这个问题在 Stack Overflow 上不是新问题,但其他类似问题已有 2 或 3 年历史,这在 Android 的快速发展世界中被认为是历史性的。

最佳答案

保护服务器和应用程序之间的连接?只需使用 HTTPS。现在,如果您想让它只有您的应用程序可以访问该 Web 服务,则需要在它们之间共享某种 secret 以进行检查。通常这是一个密码,由用户输入。用户输入它可以保护您的应用程序免受黑客攻击,因为信息不在应用程序中。如果您不打算让用户输入它,那么它需要在您的应用程序中。这意味着任何真正想要它的黑客都会得到它。您可以稍微遮掩它,但他们最终会找到它。

基本上,要确保它不能被逆向工程,您需要用户和完整的登录系统。

关于php - 保护android和php之间的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356634/

相关文章:

java - 从正在运行的服务更新 Activity UI

php - 订单日期查询,语法错误

PHP 使用 IF 更新查询

php - 从数据库中检索图像文件位置不显示

android - Eclipse 在没有时显示错误

android - 为什么我的服务总是绑定(bind)到 ipv6 localhost 而不是 ipv4?

安卓相机预览人像比例

android - 在我的应用中使用屏幕锁定

php - 使用带有 OpenERP 的网络服务插入订单

php - 使用 CakePHP 将记录插入数据库会导致外键冲突