2009-06-19 3 views
8

ファイアウォールの背後にある私たちのオフィスには、devサーバーがあります。ホスト名はフランクリンです。私たちはすべてのサーバーを科学者または発明者の名前を付けて名付けます。イントラネットドメイン上のCookie

Set-Cookie: user=kenny; expires=1245424860.11; Path=/; domain=franklin 

はクッキーが設定されていません。私はHTTPクッキーを設定

。私は運がないと次のことを試しました。

.franklin 
.franklin.local 
franklin.local 
.franklin.localdomain 
franklin.localdomain 

ホスト名を別のものに設定する必要がありますか、またはこのCookieを私がまだ知らないいくつかの魔法によって設定することはできますか?

+0

奇妙なことに私はドメイン=フランクリンを落として、それはクッキーを設定しました。 FirefoxのWeb開発ツールバーを使用すると、ドメインはフランクリンだと言います。何が起こっていたのか分かりません。 –

答えて

7

RFC 2109は言う:

可能なセキュリティやプライバシーの侵害を防ぐために、ユーザエージェント 次 のいずれかに該当する場合(その情報を保管してはならない)クッキーを拒否:

  • Domain属性の値に埋め込みドットが含まれていないか、 がドットで始まっていません。
  • 要求ホストの値が、ドメイン 属性にドメイン一致しません。

も:リクエストホストへ

ドメインのデフォルト。

あなたのホストがfranklinの場合:それが埋め込まれたドットを持っていないので、domain=.franklin

  • クッキーは、拒否されます。
  • のCookieは、サーバーの実際のホスト名と一致しないため、拒否されます。

ソリューションは、franklin.localまたはfranklin.<tld>にホスト名の名前を変更し、それに応じてクッキー(domain=.franklin.<tld>)のdomain属性を設定することです。代わりに(あなたが見つけたように)、domainを指定せず、ユーザーエージェントを要求ホストにフォールバックさせます。

+1

としてアクセスできますありがとう! –

0

正しいドメインからCookieを設定していますか? http://franklin/でウェブサイトにアクセスする必要があります。それ以外の場合は動作しません(同じオリジンポリシーを参照)。

+0

私はhttp:// franklin/ –