4

ユーザーが周囲に関連するコンテンツを表示する iOS アプリを開発しています。ユーザー名/パスワード認証があります。したがって、ユーザーは自分の gps データをログイン情報とともに PHP/MySQL バックエンドに送信し、そこからデータが返されます。

ただし、誰かが私のアプリを逆コンパイルし、登録してから、実際には iOS デバイスからではないさまざまな gps データを使用してリクエストを送信するだけで、データベース全体を「スキャン」するのではないかと心配しています。これを防ぐ方法はありますか?私はすでにグーグルで検索し、この脅威を見つけました:

API リクエストがモバイル (ios/android) アプリからのものであることを確認するにはどうすればよいですか?

しかし、問題は少し異なり、私の問題は解決しないと思います。

API キーを調べましたが、悪意のあるユーザーが登録/逆コンパイルして API にアクセスするのを阻止し、コードからのキーと一緒にログイン情報を使用する方法が見つかりませんでした。

どんな助けでも大歓迎です。1月

4

3 に答える 3

3

ユーザーごとにすべてのリクエストをログに記録し、GPS 座標を使用してユーザーの動きにルールを適用できます。たとえば、ユーザーが時速 500 マイルを超えて移動していること、または 1 日に 10,000 マイルを超えて移動していることを座標が示唆している場合に起動するルールを設定します。ルールが発火した場合、動きは人為的であり、スキャンされています。ルールが実行されない場合、ユーザーは期待どおりに通常の人間的な方法で動いていることを意味します。

于 2013-10-11T21:42:51.137 に答える
1

以前、そのようなアプリで同じ問題が発生しました。最終的には、デバイス ベースのカップリングとアクセス ルールがチェックされていることに本当に依存することはできません。

最初に考慮すべきことは、何らかの形式の認証です。しかし、あなたがすでにそれを考慮していると推測すると、それはあなたのアプリには当てはまらないかもしれません.

私のアプローチは、1 日に特定のオリジンから発信できるクエリの数をチェックして制限することでした。更新間隔に基づいて計算し、バックエンドから引き出されると予想されるデータ量を計算し、その上に約 10% を置き、超過したらその宛先へのデータの提供を停止し、イベントについて管理者にメールを送信します。彼はそれを調べることができ、クライアントを永久に禁止するかもしれません.

前のコメントで述べたように、防水でもありませんが、デバイスに依存しない方法で動作し、乱用するのが難しいほど優れています.

于 2013-10-13T10:47:00.957 に答える