19

まず、これがOpera 12.01の問題かどうかはわかりませんが、問題はOperaでのみ発生します。私は、AndroidとiPhoneのFF14、Chrome 21、Safari 5(Windows)、SafariMacおよびWebkitブラウザーでテストしました。

私のアプリケーションはtrigger.ioforgeプラットフォームで実行され、プロキシを使用してWebアプリケーションからサービスにリクエストをルーティングします。プロキシはリクエストとCookieを転送するだけで、これはほとんどのブラウザで期待どおりに機能します。

トンボでリクエストを調べたところ、サーバーがレスポンスで適切なヘッダーを送信していることに気付きましたが、Operaは値の設定を無視しているようです。これは、Cookieのパス値が正しく構成されていないことが原因であるかどうか疑問に思っています。FirefoxとOperaの2つのリクエストのスクリーンショットを添付しました。

画面に表示されているように、FFはCookieヘッダーを確認して適切に設定しますが、Operaはそうではありません。

Firefoxリクエスト

Firefoxのリクエスト

Operaリクエスト1画面

オペラリクエスト1

OperaRequest2画面

オペラリクエスト2

リクエストの転送を行うプロキシからのコードは含まれていません。洞察を得るために必要な場合はお知らせください。サービス側では、PHPとCodeigniterを実行しています。私の環境についてさらに情報を追加する必要がある場合は、お知らせください。ありがとうございます。

更新:この問題は、カスタムTLDを使用しない本番環境でも発生します。Cookieを使用する他のサイトは正常に機能し、Cookieが有効になっています。

4

3 に答える 3

8

二重引用符は、Cookie値で正式に違法です。それらを%22としてエスケープすると、機能します。

于 2012-08-14T14:36:26.217 に答える
5

これがCookieドメインの問題であるかどうかを確認しましたか?Javascriptを使用してCookieを設定/読み取ると仮定していますか?いずれにせよ、確認したいCookieドメインの問題が4つあります(古いFFバージョンでこれらの問題が発生したことはわかっています)。

1-不正なCookie文字を確認します。Cookie名に「-」または「=」を使用できない可能性がある許可されたCookie文字。Cookieに非ASCII文字を使用しないでください。base64エンコードはこれを処理する可能性があります。

2-(javascriptコードまたはその他の方法で)Cookieを設定したドメインが、コードが実行されたドメインと同一であることを確認します。

3-Cookieドメインがローカルホストではないことを確認します。リモートドメインからのCookieの設定をテストできるかどうかを確認します

4-JSを使用してCookieを設定している場合は、ブラウザでCGIを使用してCookieを設定できるかどうかをテストして、ブラウザの問題ではないことを確認してください。正常に機能する場合は、(設定ではなく)JSを使用してCookieを読み取ることができるかどうかを確認してください。

コメントでこれがどのように行われるかを教えてください。私は何度も同様の問題に対処してきました。これらのチェックで得られるものに応じて、問題の修正を支援できると確信しています。

于 2012-08-15T17:59:29.793 に答える
-1

これらのOperaスクリーンショットを見ると、同じ秒内に処理されるAJAX/XHRリクエストのようです。Javascriptがこれらのリクエストの両方を「同時に」トリガーしている可能性があります。そのため、「2番目」のリクエストが作成される前に「最初の」からの応答が到着しません。したがって、Cookieはまだ設定されていません。

私はあなたが使用しているテクノロジー/ツールキットに精通していないので、これらが銘柄コードなのかカスタムアプリケーションの一部なのかわかりません。

于 2012-08-12T16:34:12.600 に答える