我已经在Cakephp上构建了一个Web应用程序..我正在通过json对象中的HttpPost将数据从android发送到webapp ..我现在正在写的是我在httpPost中写这样的网址
HttpPost post = new HttpPost("https://www.myweb.coom/test");
并且在cakephp中我通过检查是否是发布请求来检索数据
if ($this->request->isPost()){}
但问题是如何检查请求是否来自我的Android应用程序而不是其他人,因为此时如果有人知道该网址,他可以向我的数据库注入一些东西或者会做其他事情......顺便说一下我正在使用https ..并且有些人说你不需要做任何其他想法,因为你已经在使用https ..但我感到不满意...并且还告诉我是否必须在发送时加密数据android和密钥解密..?如果我应该然后请告诉我我该怎么做
答案 0 :(得分:0)
基本上,您使用CakePHP创建的是API或Web服务。您要做的是保护API,以便只有您(或您选择的人)才能执行请求。
为此,您需要某种形式的身份验证。一种方法是使用Oauth(http://oauth.net/)。一种更简单的方法是将一个秘密的“令牌”作为每个请求的附加POST参数。
e.g。用普通的PHP:
$token = clean_string($_POST['API_token']);
if($token!=MY_API_TOKEN){
echo "Sorry, you must be authorized to use this API!";
}
您提到您正在使用HTTPS--这很好,但它只能防止窥探,IP欺骗和类似问题。