質問

かなり一般的な認証スキームを使用する PHP サイトがあります。

  • ログイン領域全体でSSLが必要です。
  • ユーザーはユーザー名とパスワードを入力し、それらがデータベースと一致する場合、セッションが開始され、値が設定されます。
  • 認証が必要なページにアクセスしようとすると、その値がセッション内に存在するかどうかがチェックされ、存在しない場合はログイン ページに転送されます。

セッション Cookie を使用するように設定されていない、または転送ページを保存するキャッシュに問題があるなどの理由で、ログインに問題が発生する人が常に数人います。

ところが最近、IEでログインできない人が多発しています。セッション Cookie 設定を修正したりキャッシュをクリアしたりしても効果はありませんが、同じコンピュータ上で Firefox/opera を使用している場合はログインできます。それは IE の問題であり、その中間の問題ではないと確信しています。

セッション Cookie に影響を与える可能性のある IE 7 への最近の変更について知っている人はいますか?

アップデート:

最近では、ユーザーが既存のセッションを使用する状況があるため、ログイン直後に session_regenerate_id() 呼び出しを実装しましたが、それはかなり前のことです。

役に立ちましたか?

解決

私の最初のステップは、FirefoxとIEではないでログインし、ログインプロセスのためのHTTPリクエスト/レスポンスのペアの違いを見るために、両方に対してフィドラーを実行できるユーザーを見つけることであろう。それは、少なくとも、あなたが見てする場所の良いアイデアを与える必要があります。

他のヒント

IEのセキュリティ設定が(特に企業環境では一般的である)アップクランクされている場合、またはあなたがにログインしているページが保存からクッキーを保っているものかもしれないフレームまたはインラインフレームである場合。その場合は、あなたがやらなければならないことは、P3PポリシーのHTTPヘッダを設定されています。 ここで私はそれらを実装する方法で見つけることができる最高の説明があります。

私は何も聞いていません。私はすべての公共事業にクッキーレスセッションを使用してに切り替えなぜけれども、これは正確です。私はASP.Netはこれが組み込まれてい信じるが、私は私自身の実装を使用することを好みます。ページからページへクエリ文字列セッションIDパラメータを渡すと、どちらかのDBレコードまたは他のいくつかのデータストアにそれを結びつけることは、はるかに信頼性がある。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top