ユーザーがログインするとアクセスできるデータを含むWebサイトを実行しています。
他の誰かがAndroidアプリを作成して、ユーザーもそのデータにアクセスできるようにします。ユーザーは自分の資格情報を入力すると、アプリが別のWebサイトに接続します。このWebサイトにログインして、私たちのWebサイトからデータを取得します、AJAXリクエストを使用して(私はクエスチョンします)。
このアプリが機能しなくなるようにWebサイトへのアクセスを制限するにはどうすればよいですか? Same-Origin上のAccess-Conrol-Allo-Originは役立ちますか?それともX-Requested-Withヘッダーですか?おそらくドメインの制限や他の緩和策でしょうか?
私が理解しているように、あなたのウェブサイトからデータを取得するリクエストは、問題のあるAndroidアプリのバックエンドとして機能するサーバーから来ています。あなたには多くの可能性があります:
Access-Control-Allow-Originなどは、ブラウザが許可する要求を規制するため、ここでは役に立ちません。サーバーがリクエストを行っている場合は関係ありません。
同じOriginポリシーにより、要求が送信されるサーバーが(CORSを介して)これを許可するように明示的に構成されていない限り、あるOrigin上のサイトが別のOriginへの要求からの応答を読み取ることができません。
あなたのウェブサイトは一つのオリジンであり、アプリのブラウザが表示しているものは何でも別のオリジンです。したがって、これはデフォルトでブロックされます。
これが事実なら、あなたは困っています。上記の最後の2つの箇条書き(User-AgentまたはカスタムHTTPヘッダー)を試すこともできますが、簡単に回避できます。だからあなたはここで運が悪いかもしれません。
Andersの回答に加えて、ログインエンドポイントで「 Invisible Captcha 」を使用することを検討してください。Googleはボットの検出/停止に優れています。
これは、ウェブサイトをこすり取ろうとする人を遅くするための単なる解決策ではないことに注意してください。