2

セッションのこれら2つに違いがあるのはなぜですか?ログインフォームがあり、セッションをページに渡す場合(つまり:) settings.phplocalhost/settings.php別のページに移動して戻ってきた場合、セッションが機能する場合。しかし、そうであれば127.0.0.1/settings.php、セッションは最初のパスで機​​能し、別の場所にリダイレクトして戻ると、もうそこにはありません。

これは他の人にも起こりますか?それともこれは私だけですか?

ありがとう

4

2 に答える 2

4

多分これが役立つでしょう: http://www.issociate.de/board/post/179979/Cookie_Problems_on_Localhost.html

「localhost」と任意の IP の両方が、Cookie の有効なドメイン識別子として受け入れられません (RFC に従って)。

および 127.0.0.1 != ブラウザーの localhost。ブラウザは、127.0.0.1 から設定された Cookie を localhost に送信しません。これらは異なるドメインであるためです。

ps 実際には、1 つの IP に多くのドメインが存在する可能性があります。もちろん、セキュリティ上の理由から、ブラウザーはすべての Cookie をまとめて送信することはできません (あなたの Web サイトからの Cookie が、同じ IP を持つ virtualhosting 上のすべての Web サイトにブラウザーによって送信されると想像してください)。

于 2012-05-19T08:59:53.560 に答える
3

@true の回答で参照されている問題のため、開発では通常、dev.localhost.net のような偽のローカル ドメインを作成し、hosts ファイルを使用して、これをマシンの IP アドレスまたは 127.0.0.1 にマップします。これは、セッション/Cookie の問題を回避するのに役立ちます。

于 2012-05-19T09:03:50.680 に答える