2011-10-27 13 views
6


すべてのクッキーはWWWのサブドメインに設定されているウェブサイトwww.example.comがあります。
新しいサブドメインがあり、すべてのサブドメインにCookieが表示されます。特定のCookieのドメインを取得する方法は?

目標は、.example.comとするか、WWWのために設定されている場合.example.comのために新しいものを書くために、すべての古い訪問者のためのwww.example.comクッキーを書き換えることです。

このため、私は既存のCookieのドメインを取得したいと思います。
可能ですか?この目的のためのPHP関数はありますか?

+0

あなたは[ '' $ cookie-> setDomain($ドメイン)]を見つけるかもしれない(https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L117 )[このスタンドアロンライブラリ](https://github.com/delight-im/PHP-Cookie)にあるように役立ちます。すでに送信された(そしてクライアント上で設定された)クッキーの 'domain'プロパティにアクセスすることはできませんが、単に新しいものを設定することができます。それは正常に動作します。 – caw

答えて

3

私はこれがブラウザによって制限され、クッキーを読み取る際に、ドメインが利用可能であるとは思いません。解決策は、古いCookieを削除して新しいドメインに変更することです。

など。

$value = $_COOKIE['TestCookie']; 
setcookie("TestCookie", "", time() - 3600, "www.example.com"); 
setcookie("TestCookie", $value, time + (60 * 60 * 24 * 30), ".example.com"); 
+0

私はこの考え方を持っていましたが、この方法でもすべてのクッキーが変更された後でも、プロセスは永遠に繰り返されます。私はサーバー側でやっています。もう1つは:Google ChromeはCookieドメインを知っています(要素の検査) – lvil

+1

もう1つのCookieを追加して、既にコンバージョンを達成したことを知らせることができます。 – Noodles

1

私が正しくあなたを理解していれば、あなたは現在、クライアント上で既存のCookieのドメインを変更したいですか?

これはできません(*)。クッキーサーバ側を取得するとき

、それはWWWのドメインに設定された場合は、クッキーは、クライアントが何のドメイン情報を持っていないフォームに合格したことを念頭に置いて、見ることは可能でしょうか?

(*)これは、クライアント側のJavaScriptで可能かもしれません。

関連する問題