1

我有几个连接到我的 sql 服务器并检索一些数据的 php 脚本。我从一个 android 应用程序中调用这些 php 脚本。现在的问题是,当有人在他们的计算机上访问该站点时,我不希望公开看到脚本的输出。(因为他们持有关于谁安装了我的应用程序和其他数据的信息)。我拥有这些脚本的唯一原因是我的应用程序的内部逻辑。我想知道是否有任何简单的方法可以让我的脚本可以从 android 手机访问,同时当我使用计算机上的浏览器连接到它时不显示它们的输出。如果不是,我还有什么其他选择?

4

3 回答 3

1

建议使用单一密码是非常不安全的。只需传递通过代理发送的消息并捕获它,您就拥有了代码。您所面临的问题基本上与任何公开可用 API 的创建者所面临的问题相同。

最好的办法是为每个安装使用唯一的 API 密钥,用于签署所有请求和响应。这不必包括用户手动将其放入应用程序。可能是应用程序第一次通信时,服务器为其提供了一个密钥并将该密钥映射到该设备/安装。

谷歌搜索Authentication for REST API in PHP或类似的东西,你很可能会找到指向正确方向的东西。

于 2012-10-29T07:17:18.720 回答
0

如果你在 Android 后台调用你的 PHP 脚本,你可以传递一个密码作为查询数据。由于它是在后台发生的,因此没有人会看到它。您的 php 检查该代码是否已发送。如果没有,它不会返回任何东西。这不是一个非常安全的系统,尽管它可以以这种方式实现。

于 2012-10-29T07:10:42.280 回答
0

您可以在标头中发送一些只有 android 应用程序知道的 ID(即客户端 ID),并在存在此 ID 时在服务器上发送实际响应,如果 ID 不存在则发送一些虚拟响应。还要使用 HTTPS,以便您发送的所有数据都将被加密。

于 2012-10-29T07:14:37.750 回答