0

我已经在 Cakephp 上构建了一个网络应用程序 ..我正在通过 json 对象中的 HttpPost 将数据从 android 发送到 webapp .. 我现在正在写的是我在 httpPost 中写一个这样的 url

     HttpPost post = new HttpPost("https://www.myweb.coom/test");

在 cakephp 中,我通过检查它是否是发布请求来检索数据

 if ($this->request->isPost()){}

但问题是我如何检查请求是否来自我的 android 应用程序而不是其他人,因为此时如果有人知道 url,他可以将某些东西注入我的数据库或会做其他事情..顺便说一下我正在使用https .. 有人说您不需要做任何其他事情,因为您已经在使用 https .. 但我并不满意 .. 并且还告诉我是否必须在从 android 和用密钥解密它.. ? 如果我应该然后请告诉我我该怎么做

4

1 回答 1

0

本质上,您使用 CakePHP 创建的是一个 API 或 Web 服务。您要做的是保护 API,以便只有您(或您选择的人)可以执行请求。

为此,您需要某种形式的身份验证。一种方法是使用 Oauth ( http://oauth.net/ )。一种更简单的方法是只使用一个秘密“令牌”作为每个请求的附加 POST 参数。

例如在普通 PHP 中:

$token = clean_string($_POST['API_token']);
if($token!=MY_API_TOKEN){
    echo "Sorry, you must be authorized to use this API!";
}

您提到您正在使用 HTTPS——这很好,但它只能防止窥探、IP 欺骗和类似问题。

于 2013-06-24T16:48:41.910 回答