2

PHP で API ベースのアーキテクチャを構築しています。

個別の API キーを使用して API を使用しようとするクライアントが、承認されたクライアントであることを確認したいと考えています。たとえば、API キー「ABCD1234」はドメイン「example.com」に割り当てられます。ドメイン「fraud.com」がこの API キーを使用しようとしても、API を使用できないはずです。API 側でこのチェックを実装するにはどうすればよいですか?

私がこれまで見てきたことに基づいて、クライアントがリファラー ヘッダーを「偽の」真の ID に渡すことは非常に簡単です。

また、Google マップが最初に API を開始したとき、承認された URL のみが対応する API キーを使用できる同様の手法を実装したことをかすかに覚えています。したがって、これは可能性の範囲外ではないようです。

ヘルプ/指示をいただければ幸いです。

ありがとうございました、

-サフ

4

1 に答える 1

1

サーバー ツー サーバーのシナリオでは、ドメインが関与しているとは限らないため、ドメインでできることはほとんどありません。これは、ある IP から発信された着信 (HTTP) 要求にすぎません。その IP は、必ずしも DNS システムのホスト エントリに関連付ける必要はありません。できる最善の方法は、許可された IP アドレスを登録するようにクライアントに要求することです。逆引き DNS ソリューションはさまざまな理由で実行不可能です。特に、クライアントが逆引き DNS を適切に設定する必要があり、これは実用的ではない可能性があります。

ユース ケースがブラウザ側である場合は、Google マップのアプローチを使用できます。このアプローチでは、ブラウザで現在のページの場所を確認するサーバーからのスクリプトをクライアントに含める必要があります。それでも、クライアント側のものと同様に、完全に気性を証明するわけではありません。HTTP Referer サーバー側をチェックすることもオプションですが、本当にしたい人なら誰でも簡単に覆すことができます。組み合わせると、ほとんどの虐待者が思いとどまるように、十分に困難になる可能性があります.

于 2012-10-31T20:36:05.593 に答える