7

Internet Explorer が Cookie を受け入れないという奇妙な問題が発生しています。これはクッキーです:

set-cookie: USUSERNAME=LrceSVu6mUJ9Ztmvp4oKSQ%3D%3D; version="1"; expires=Mon, 15-Jun-2009 11:42:21 GMT; path=/; domain=.us.is

ドメイン dev-intranet.us.is またはその他の us.is ドメインには保存されません。ただし、Cookie のドメインを開発マシンの IP アドレスに設定すると、完全に機能します。

set-cookie: USUSERNAME=LrceSVu6mUJ9Ztmvp4oKSQ%3D%3D; version="1"; expires=Mon, 15-Jun-2009 08:41:58 GMT; path=/; domain=192.168.34.104

Firefox、Opera、Safari、Chrome ではすべてが期待どおりに動作しますが、IE7 では動作しません

ここで何が起こっているのですか?

ところで。WebObjects WOCookie を使用して Cookie を作成します。

4

2 に答える 2

9

この例の Cookie は、「us.is」ドメイン用です。IE は、2 文字のドメインに設定された Cookie を無視します。より正確には、5文字未満のドメインからのCookieを無視するようです(あなたのように:2 + 2)。

このバグ/機能は、おそらく以前のバージョンの IE6 のものだと思います。これを読むと、この動作は IE7 でもまだ残っているようです。

非実用的な回避策を提案する MSKB 記事は、http ://support.microsoft.com/kb/310676 にあります。

より実用的な方法は、より長いドメイン名を取得することです ;-) または、ユーザーが常に 1 つの標準的な名前、つまり「www.us.is」にリダイレクトされ、そこに Cookie を設定するようにすることです。

于 2009-06-23T14:44:54.313 に答える
6

いくつかの追加のエッジ ケース/詳細 (サイトごとのプライバシー アクション [インターネット オプション > プライバシー > サイト] を使用して IE8 で行われたテスト):

次のドメインはREJECTEDです:

  a.a
 aa.a
  a.aa
 aa.aa

エラーメッセージとともに:

You have entered an invalid domain. Domains must be in the Internet zone
and must use the HTTP or HTTPS protocol. URLs beginning with xn-- must
be valid IDN names.

Examples of valid domains:

  - www.treyresearch.net
  - http://treyresearch.net
  - fineartschool.net

次のドメインはACCEPTED です:

aaa.a
aaa.aa
  a.aaa
 aa.aaa

   a.a.a
  a.a.aa
 a.aa.aa
aa.aa.aa

さらに、ほとんど無関係ですが、Internet Explorer は、ドメインの仕様で許可されていない文字を含むドメインの受け入れを拒否しているようです。(おそらく開発環境で) 無効なドメインがある場合、IE はそれを好みません。

次のドメインはREJECTEDです:

a_a.aa
a%a.aa
a*a.aa
a=a.aa

エラー メッセージ: The site name you entered is not a valid IDN URL

次のドメインがACCEPTEDであるため、テストは文字の有効性に限定され、配列の有効性には限定されないようです。

aa-.aa
aa.aaa.
---.aa
-.---
---.-

これが、ある環境と別の環境で IE7 / IE8 で Cookie が適切に設定されない理由の詳細を探している人々に役立つことを願っています。

于 2011-09-06T04:29:13.473 に答える