2011-01-14 8 views
6

は、私はあなたが最初のものを見ることができる場合違いは、PHP

第1

Name: d58ba4091c622661a0d46f03b412ac8b 
Content: m9ciub2u3ig59638r43uqjb8e6 
Host: www.example.com 
Path:/
Send for: Any type of connection 
Expires:Sunday, February 27, 2011 5:50:18 PM 

2つ目

Name: test 
Content: kdfssdfb2ufdfjww3436detasd 
Domain: .www.example.com 
Path:/
Send for: Any type of connection 
Expires:Sunday, February 27, 2011 5:50:18 PM 

のように見えた2枚のセッションクッキーがあるとパラメータHost parameterを含み、2番目の値はDomainパラメータを含みます。 彼らは何を正確にしていますか、そしてそれらの違いは何ですか?

おかげ

+0

[ '$ cookie-> setDomain($ドメイン)'](https://github.com/delight-:ますsetcookie()パラメータ$ドメインはいくつかのドメインに設定されている場合、このようなクッキーが作成されます[このスタンドアロンライブラリ](https://github.com/delight-im/PHP-Cookie)にあるように、im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L117)を参考にしてください。これはあなたのためのいくつかの正規化の取り組みを処理します。 – caw

答えて

11

setcookie() function descriptionへのコメントによると、違いは以下の通りです:

  • ホスト:www.example.com

はこのクッキーがします指定されたホストに制限さ、そうされます全く異なるドメインにもサブドメインにも表示されません。

setcookie($name, $value, time()+3600, $path, ""); 
  • ドメイン::.www.example.com

は、指定されたドメインに制限するので、このクッキーが意志されますsetcookie()パラメータ$ドメインは空の文字列に設定されている場合、このようなクッキーが作成されます指定されたドメイン(* .www.example.comのようなすべてのドメイン)のサブドメインに表示されます。

setcookie($name, $value, time()+3600, $path, "www.example.com"); 
あなたが見つけるかもしれない