2012-01-15 14 views
2

これは説明が少し難しいと思います。基本的に、私はWebアプリケーションに接続するアンドロイドアプリを持っています。私は、Webアプリケーションからのリクエストを他の場所には作成しないようにしたい。私はPHPを使用しています。だから、もし私がアンドロイドアプリから "send_data.php?foo = bar"というリクエストを出したら、そのアンドロイドアプリから送られない限り、そのリクエストはうまくいかないと思う。だから私はちょうど私のブラウザに移動し、 "send_data.php?foo = bar"と入力すると動作しません。アプリからのリクエストのみを送信する方法

"pw = 12345"のようなリクエストで秘密の値を持っているのですが、PHPスクリプトではif($pw = "12345")がありますが、簡単にその秘密の価値を得る。私はこれを達成できる方法はありますか?

+1

アンドロイドアプリからウェブアプリにデータを送信するためにssl(https)を使用します。 – Erik

答えて

0

カシム、あなたがそれを行うことができ

一つの方法は、代わりにGET変数のポストを使用し、SSLリンクとしてリンクにアクセスすることです。そうすることで、投稿された情報が暗号化されていることを確認できます。あなたがそれをすることができないなら、あなたは私のようにすることができます。私はサーバー上の電話に送信しているデータを暗号化しました。それは電話で暗号化されたままで、アプリで使用されるときにのみ解読されます。こうすることで、誰かが私の接続を盗聴してデータを取得しても問題ではありません。それはまったく役に立たない。お役に立てれば。

+0

しかし、どうすれば暗号化できますか?どのような方法でデータを暗号化することができますが、可逆性(解読可能)なのでしょうか? – Qasim

+0

鍵はサーバと電話機に保存され、送信されない限り、盗聴から保護されている限り、任意の数の暗号化方式を使用できます。私はDESを私のものと使用しました(最も安全なものではありませんが、私にとっては十分です)。 PHPページは、HTTPSを介してJSON形式でデータを送信する前にデータを暗号化します。電話機はデータを受け取り、暗号化してデータベースに格納します。後でアプリケーションがデータを使用する必要があるときに、データを復号化します。 NMRのように、鍵はあなたの出身で十分な仕事で見つかるはずです。そのトリックは、あなたのコードを難読化するためにProguardのようなものを使って、できるだけ安全にすることです。 –

0

完璧な答えはありません。私はサイトがデータを暗号化するために使用されたキーを送信させるだろうが、それでもそれは敗北する可能性がある。

1

私はこれが暗号的に安全な方法で行われるとは思わない。電話アプリ自体は公開データなので、アプリ内に保存されているキーは最終的に盗聴可能です。あなたはこれがあなたの目的のために十分な抑止力であるかもしれないなど、キーを難読化暗号化されたフォーマットに格納し、それがどこにあるか非表示にするには、合理的な長さに行くことができると述べた

。しかし、それが単なるシェルゲームであることを知ることは重要です。アプリのキーは安全ではなく、意欲を持った攻撃者が最終的にそれを抽出します。あなたが考えるかもしれません

別のアプローチは、あなたが接続しています誰が知っていることができますし、その上、あなたのサーバの応答をベースにすることができ、ユーザー認証を持つことです。ユーザー認証は暗号的に強力です。あなたが要求認証に疑問を抱いても転送中のデータを盗聴誰かを懸念しているよう

0

は思えます。 httpsを使用することは、すべてのリスクを軽減する唯一の方法です。受け入れられた答えはthis questionです。その答えで提供されるブログのリンクは読んだだけの価値がある。

関連する問題