2009-09-13 12 views
10

ではないサブドメインでのCookieを設定する方法はありますか?つまり、domain.comで利用可能なCookieを持っていますが、ではなく、www.domain.comまたはxyz.domain.comです。サブドメインではなくドメイン用のPHP setcookie()

//this is what i'm "intending"... 
setcookie($name,$value,$expires,'/','domain.com'); 
//however, this is how it behaves: 
setcookie($name,$value,$expires,'/','.domain.com'); 

推論:私はサブドメインに静的CDNを設定していてユーザのセッションクッキーは、すべての画像のために行ったり来たりしたくない、CSSファイル、JSファイルなど

...私は自分のサイトにwww.domain.comを使用することに転用する必要がありますか?回避策はありますか?

+0

ドメインを「null」に設定することは、ここで唯一正しいことです。それ以外の場合は、['$ cookie-> setDomain($ domain)'](https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L117)を参考にしてください。 [このスタンドアロンライブラリ](https://github.com/delight-im/PHP-Cookie)にあります。 – caw

答えて

17

「* .domain.com」と一致する「domain.com」にCookieを設定すると、予想される動作です。例えば

PERSISTENT CLIENT STATE HTTP COOKIES状態(一部強調鉱山)

domain=DOMAIN_NAME

有効なクッキー、クッキーの ドメイン属性の比較のためにクッキーのリストを検索します のインターネットドメイン名を としたホストを とした です。 ...
「テールマッチング」とは、 ホストの完全修飾ドメイン名の末尾に対して、ドメイン属性が と一致する を意味します。 "acme.com"のドメイン属性は となり、ホスト名 "anvil.acme.com"は と同様に "shipping.crate.acme.com"と一致します。指定されたドメイン 内

ホストのみがドメインのクッキーを設定することができ、 ドメインを有していなければならない少なくとも二つ(2) または3つのピリオド フォームのドメインを防止するために、それらに:」。 com」、 「.edu」、および「va.us」が含まれます。 が7つの特別な トップレベルドメインのうちの1つのドメイン内でのみ失敗するドメインがある場合は、 に2つのピリオドが必要です。他のドメイン には少なくとも3つが必要です。 特別なトップレベルドメインは、 "COM"、 "EDU"、 "NET"、 "ORG"、 "GOV"、 "MIL"、および "INT"です。

だから、あなたがする必要があります、次のいずれか

  • サイトの使用「www.domain.com
  • か(「.anotherdomain.com」のように)あなたの静的コンテンツのための全く異なるドメイン名を使用
    • たとえば、これはstackoverflowで行われます。スタティックコンテンツはsstaticから提供されます。Cookieドメインは、ドメイン名に対してtail matchedあるよう
+0

いい説明、ここでも+1。 – Thiyagaraj

+0

うわー、素晴らしい情報。私は周りを掘るときにそれを越えて走っていなかった。ありがとう。私はこれが私の質問に答えると思う... www.domain.comそれはある。 – brianreavis

+0

歓迎します:-)楽しんでください! (また、ウェブサイトとクッキーにwww.domain.comを使用している場合は、「domain.com」がサイトにアクセスする際に「www.domain.com」にリダイレクトされることを忘れないでください。ブラウザに応じて自動的にそれを行うことができます:常に動作するとは限りません - プロキシの背後で動作しない場合があります(たとえば、私が働いている場合、それは痛みです)) –

6

これは、CDNとして使用するための専用ドメインを登録しているサイト(このサイトも含めて)が多い理由です。

1

ネットそれは不可能です。あなたはwwwと一緒に行く必要があります。

関連する問題