Androidアプリから情報を受信して処理するphpスクリプトにデータを送信していますが、セキュリティの問題が見つかりました。誰かがURL(mydomain.com/recievedata.phpなど)を発見した場合、誰もが私のシステムにデータを送信することができます。
データを送信するクライアントがアプリであることを確認するための理想的な方法は何ですか?
ありがとう!
一部の企業が行っている簡単な方法の 1 つは、秘密鍵を含めることです。たとえば、secret=3CH6knCsYmvA2va8GrHk4mf3JqmUctCM
POST データへのパラメーターがあるとします。次に、一番上に必要なのreceivedata.php
は
if($_POST['secret'] != '3CH6knCsYmvA2va8GrHk4mf3JqmUctCM') {
header('HTTP/1.1 403 Forbidden');
error_log("ERROR: wrong secret: " . $_POST['secret']);
exit("Access denied");
}
random.orgからランダム文字列を簡単に生成できます。
もちろん、これは最も安全な方法ではなく、その文字列は APK に平文で保存される可能性があります (これを起動コードの送信に使用しないでください!)。これは、たとえば、ゲームのプレイヤー スコアを送信するのに十分な場合があります。
それはPHPの質問に似ています。セキュリティのために行うべきことは次のとおりです。
これらを使用すると、アプリケーションなしでは誰も PHP ファイルを使用できなくなります。また、あなたの許可なしにデータを受信することはできません
唯一の適切な方法は、受け取ったデータを信用しないことです。常に、悪者からの細工されたデータに適した方法で処理してください。