ただいまPHP + MySQLにて、会員ログインシステムを導入した会員サイトを運営しておりますが、ログイン時にまったく別のユーザーでログインしてしまうという現象がおきて困っております。
たとえば、Aというユーザーが自分のIDとパスワードを使ってログインすると、ごく稀にBというユーザーでログインされてしまうということです。何かの間違いかと思い、会員データの編集画面を表示してもBの会員情報が表示されてしまい、ログアウトするまで、Bというユーザーでログインされているという状況です。
ID、パスワードの重複かと思いそちらもしらべましたが、
AはID、パスワードともに数字のみ
BはIDが英数字 パスワードが数字
になっており、重複や入力ミスではないようです。
ちなみにWORDPRESSを用いてサイト構築を行っています。
ログインの処理自体はWordpressnのプラグインなどは用いていません。
一度キャッシュを制御するプラグインを用いて、ログインした状態のページをキャッシュしてしまう事はありましたが、そちらは今回とは関係ないのではないかと思っております。
また、現在そのプラグインは使用しておりません。
ログイン処理などを何度も見直しましたが、
間違ってログインされるような事は起こりえないと思うのですが、
何かサーバーの問題などでこのような事は起こるのでしょうか?
大変困っておりまして、お答えいただけるととてもありがたいです
No.2ベストアンサー
- 回答日時:
おそらく、ログイン処理部ではなく、セッション処理部の問題でしょう。
質問者さんがどのように作られているのかはわかりませんので、ある程度想像になりますが、
おそらく、
・最初に、ユーザーIDとパスワードを入れて認証
・セッション管理で、ユーザー認証成功したらその情報を入れる
・セッション情報に「認証成功」という情報が入っていたら、認証済として、その会員のデータを表示する
といった仕組みになっているかと思います。
ここで、もし、異なるユーザーが同じセッションを共有してしまっていたら、
セッション情報が他人のユーザーIDで認証済ということになってますから、「別のユーザーの情報が見れる」ということになってしまいます。
あとは、セッション管理をどうやっているのかによって話は変わってきます。
PHPのセッション管理関数を使ってるなら、まず重複することはありませんが、
独自の方法でセッション管理しているのなら、その部分で動作が一番あやしいかと思います。
No.1
- 回答日時:
私も以前同じような現象に陥りました。
私の場合、同一PCから異なるIDとパスワードを使ってログインした場合のみに、そのような現象が確認されました。
そこで私的には、『ログアウト時のセッション情報の完全削除』『ログアウト後、一度リダイレクト』等の処理を挟むことで改善出来ました。
ご参考までに…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- UNIX・Linux Ubuntu on Xorgのログインについて 2 2023/08/10 15:16
- ノートパソコン パソコンのログインが出来ない 3 2023/04/14 20:48
- ハッキング・フィッシング詐欺 OKWAVEのログインと会員登録と新規登録 1 2023/04/10 17:09
- 会社設立・起業・開業 e-Gov電子申請アプリケーションからGビズIDのアカウントをログアウトしたい 1 2023/07/04 20:21
- アルバイト・パート バイトについてです。 契約申請完了したら働けるので、契約をしようとユーザーIDとパスワードを入力した 1 2023/04/16 22:22
- Yahoo!メール Yahooアカウントにログインできなくなって困っています。 2 2023/05/16 02:28
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- ポイントサービス・マイル dポイントアプリのログインIDについて 1 2022/12/15 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
301リダイレクトはセッション引...
-
セッション ID とセッション名...
-
特定のページからのみのアクセス
-
完全なセッション破棄をしたい
-
PHP でメールフォームを作成したい
-
Sessionの上限について
-
セッションのスコープ(有効範...
-
ログインした掲示板ですが、直...
-
管理者としてログイン
-
URLのパラメータをGETのままで...
-
PHPのセッションについて
-
セッションが切れてしまいます
-
webシステムでクッキーを使いた...
-
PHPセッションIDの変更
-
ブラウザを閉じた後もセッショ...
-
PHPで自動ログインの仕組み
-
Dosブロンプトでtabを出力したい
-
wordの差し込み印刷で文字...
-
「取得先」という表現について
-
switch()文で値の大小比較
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
ログイン画面をはさんだ後、自...
-
PHPのセッション有効期限について
-
セッションのスコープ(有効範...
-
Sessionの上限について
-
セッション変数にパスワードを...
-
ブラウザを閉じた後もセッショ...
-
ログインしたら他からログイン...
-
別ブラウザ間でセッションの値...
-
Cookieを利用したユーザ管理
-
複数のサーバで運営する場合の...
-
学校の授業で困っていることが...
-
sessionとcookieの設定内容の区別
-
「ログイン機能を持たせる」説...
-
301リダイレクトはセッション引...
-
PHP cookieの値が更新されない...
-
セッション ID とセッション名...
-
sessioncookieをではなくcookie...
-
管理者としてログイン
-
セッションのタイムアウト管理
おすすめ情報