5

AJAX (jQuery 経由) を使用して、LAN 環境 (静的 IP、192.168.1.5 ) でホストされている Apache サーバーに接続する JavaScript アプリケーションをx.comでホストしています。

Apache サーバーは、ユーザーがそれを使用するために特定の Cookie を設定する必要がある API を公開します。

私の問題は、Apache サーバーに正しいドメイン ( 192.168.1.5 ) で Cookie を設定させることができないため、ブラウザーが AJAX 呼び出しで Cookie を送信することです。

IP をドメインとして Cookie を設定する方法はありますか? 私が見たすべての例では、ドメインがexample.orgの形式である必要があります。

シナリオは次のとおりです。

  1. x.comの JavaScript アプリケーションは、AJAX 認証要求を192.168.1.5に送信します。
  2. 192.168.1.5からの応答Set-Cookieには、Cookie を192.168.1.5ドメインに設定するヘッダーがあります。
  3. x.comの JavaScript アプリケーションは、AJAX 要求を192.168.1.5の API に送信し、要求の一部としてステップ 2 の Cookie を使用します。
4

1 に答える 1

4

サーバーとクライアントの両方が、Cookie が必要であることを相手に明示的に伝える必要があります。

JavaScript

xhrInstance.withCredentials = true;

サーバーヘッダー

Access-Control-Allow-Credentials: true

https://developer.mozilla.org/en-US/docs/HTTP_access_control#Requests_with_credentials

要約すると、IP アドレスとは何の関係もありません。Cookieのhostは、IP アドレスまたはドメイン名にすることができます。

于 2012-10-01T08:58:08.367 に答える