サポート » プラグイン » 会員制サイトの同時ログインを防止したい

  • 解決済 minkdesign

    (@minkdesign)


    現在、Simple WordPress Membershipを使った会員制サイトを運営しているのですが、会員の同時ログイン(2重ログイン)を防止・禁止したく投稿させていただきました。

    Simple WordPress Membershipのプラグインを編集するのは現実的ではありませんので他の方法を探しています。
    Simple WordPress Membershipの会員はwordpressのユーザーに登録されていくので何か方法はあると思いますがいいアイデアはありませんでしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • なぜ二重ログインを防止したいのかという目的にもよりますが、データベースに今ログインしているかどうかのフラグを持たせ、ログインしていれば新たなログインを許さないようにはできるかもしれません。

    ただ問題なのはログイン時そのユーザーがすでにログインしているかどうかの判断です。
    ブラウザの×ボタンで閉じられたらログアウトを判断できず、フラグ的には永遠にログインしたままです。
    ですので、最後に操作してから一時間経過していたらログアウトしたものとみなすことも可能かもしれませんが、その場合、新しいログインが成されたら古いログインはログアウトさせねばならず、処理が複雑になること必至です。

    ログインしているかどうかはcookieに情報を保持していると思うのですが、基本的にはブラウザが持っているcookie情報を破棄しないとログアウトさせることができず、上記のログアウト処理のために破棄すべきcookie情報をどこかに保持しておき、その古いログイン情報をcookieを持ったアクセスがあった場合にはログアウト済みだというcookieを送出しつつ、ログイン画面にリダイレクトします。
    あるいは、WordPressがphpのセッションを使ってログインを管理しているのなら、セッション情報を保持しているファイルかデータベースのデータ(phpの設定に依ります)を破棄してやれば破棄すべきcookie情報を保持しておかなくても即座にログアウトさせることができます。
    しかし、ユーザーIDとセッションファイルをひもづけるのはなかなか至難の業っぽいですね。

    また、正しく処理しない なかなかログイン出来ないユーザーなどが発生しますので、ちゃんと設計したほうが良さそうに思います。

    と、ここまで書いて私は作るのが嫌になってきましたけど・・・仕事ならやるんですけどね

    トピック投稿者 minkdesign

    (@minkdesign)

    詳細にご回答ありがとうございます!

    やはり、同時ログイン防止は難しいですね。
    オーダーとしては簡単に導入できるならということでしたので今回は見送りとします。

    検索してもなかなか有意義な情報にであえませんでしたのでとても助かりました。
    作成することになればこちらのご回答を参考にさせていただきます。

    ありがとうございました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「会員制サイトの同時ログインを防止したい」には新たに返信することはできません。