-PR-
解決済み

【PHP + MySQL】ログインの

  • すぐに回答を!
  • 質問No.5370292
  • 閲覧数359
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 0% (0/7)

ただいまPHP + MySQLにて、会員ログインシステムを導入した会員サイトを運営しておりますが、ログイン時にまったく別のユーザーでログインしてしまうという現象がおきて困っております。

たとえば、Aというユーザーが自分のIDとパスワードを使ってログインすると、ごく稀にBというユーザーでログインされてしまうということです。何かの間違いかと思い、会員データの編集画面を表示してもBの会員情報が表示されてしまい、ログアウトするまで、Bというユーザーでログインされているという状況です。

ID、パスワードの重複かと思いそちらもしらべましたが、
AはID、パスワードともに数字のみ
BはIDが英数字 パスワードが数字
になっており、重複や入力ミスではないようです。

ちなみにWORDPRESSを用いてサイト構築を行っています。
ログインの処理自体はWordpressnのプラグインなどは用いていません。
一度キャッシュを制御するプラグインを用いて、ログインした状態のページをキャッシュしてしまう事はありましたが、そちらは今回とは関係ないのではないかと思っております。
また、現在そのプラグインは使用しておりません。

ログイン処理などを何度も見直しましたが、
間違ってログインされるような事は起こりえないと思うのですが、
何かサーバーの問題などでこのような事は起こるのでしょうか?

大変困っておりまして、お答えいただけるととてもありがたいです
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 73% (867/1179)

おそらく、ログイン処理部ではなく、セッション処理部の問題でしょう。

質問者さんがどのように作られているのかはわかりませんので、ある程度想像になりますが、
おそらく、
・最初に、ユーザーIDとパスワードを入れて認証
・セッション管理で、ユーザー認証成功したらその情報を入れる
・セッション情報に「認証成功」という情報が入っていたら、認証済として、その会員のデータを表示する
といった仕組みになっているかと思います。

ここで、もし、異なるユーザーが同じセッションを共有してしまっていたら、
セッション情報が他人のユーザーIDで認証済ということになってますから、「別のユーザーの情報が見れる」ということになってしまいます。


あとは、セッション管理をどうやっているのかによって話は変わってきます。
PHPのセッション管理関数を使ってるなら、まず重複することはありませんが、
独自の方法でセッション管理しているのなら、その部分で動作が一番あやしいかと思います。

その他の回答 (全1件)

  • 回答No.1

私も以前同じような現象に陥りました。

私の場合、同一PCから異なるIDとパスワードを使ってログインした場合のみに、そのような現象が確認されました。

そこで私的には、『ログアウト時のセッション情報の完全削除』『ログアウト後、一度リダイレクト』等の処理を挟むことで改善出来ました。

ご参考までに…。


このQ&Aで解決しましたか?
関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

-PR-
ページ先頭へ