私は現在、私たちのサーバーにコンテンツを投稿できるiOSアプリを持っています(ツイッター風)。私たちはログインシステムを持っていません。代わりに、ユーザーを一意に識別するためにデバイスのUDIDに依存しています(はい、これは完全ではないが、アカウントを作成しないユーザーにとってはトレードオフの価値があることに注意してください)。迷惑メール防止のためのiOSアプリへのリクエスト
iOSアプリからのリクエストは、私たちのサーバーにPOSTリクエストとして送信され、決して認証されません。
私たちは現在、多くのスパムを経験しています(明らかに)、実際に私たちのサーバーに当たったリクエストは私たちのアプリから来たものであり、スパマーが書いたスクリプトではないことを確認する簡単な方法を探しています。
私たちは、アプリケーション名を含んでいても簡単に偽装されているユーザーエージェント文字列を使用しようとしました。サーバーに当たっているリクエストが私たちのアプリから来ていることを確認する方法はありますか?
考えられる原因の1つは、乱数をパラメータとして含めることで、その数値を秘密鍵で暗号化することです。暗号化されたバージョンがプレーンテキストバージョンであることをサーバーに確認させます。 (秘密鍵は、私たちのサーバー上にあるだけでなく、アプリケーションに組み込まれている必要があります)。
私は完璧なソリューションを探しているわけではありません。実装が簡単な90%のソリューションが好まれています。
ありがとうございます!
ボーナスポイント:サーバーに変更を加えることができます(つまり、新しいクライアントコードは不要ですが、クライアントはまだデバイスから報告されたUDIDを送信するだけです)。 – aloo