curl post を使用して、3 つのサイト間でデータを交換しています。POST リクエストが 3 つのサイトのいずれかから送信されたかどうかを確認して、データ交換を保護する必要があります。
現在、リクエスト ヘッダー チェックを実装していますが、リクエスト ヘッダーも操作できます。これを達成するための絶対確実な方法はありますか?
私は RESTful サービスに取り組んでおり、サービスと許可されたクライアント間の通信を確実にする方法についても考えています。長い研究の後、私は次の解決策を決定しました。
各クライアント (アプリケーション) には、公開 ID と秘密鍵があります。公開 ID をアップできます。秘密鍵は、クライアントとサービスだけが知っています。
要求ごとに、クライアントは HTTP 基本認証を使用して認証する必要があります。ユーザー名は公開 ID です。パスワードは SHA1 トークンです。トークンは、公開 ID、送信されたパラメーター、および秘密鍵の組み合わせによって生成されます。
サービスがリクエストを受け取ると、どのクライアントがこのリクエストを行ったかをユーザー名で知ることができます。同じ方法でトークンを生成し、パスワードと比較します。2 つのトークンが同一であれば、クライアントは要求を行う資格があります。さらに、パラメータが操作されないことが保証されます。