• 解決済 yoshi1998

    (@yoshi1998)


    WordPressでアカウント毎の同時接続数に制限をかける為にWP_Session_Tokenクラスでセッショントークンの数を取得し、同時接続者数の監視を行っているのですが、Wordpressをログアウトせずにブラウザを閉じた場合、サーバー側にセッションが残り続けて実際にサイトを閲覧している人数より多くの接続者数が表示されます。

    対策の一つとしてサーバー側で保持するセッションを定期的に(例えば30分毎)破棄するようにしたいのですが、どのようなやり方があるのでしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    wp-cli にカスタムコマンドを追加して、cronにてWP_User_Meta_Session_Tokens::destroy_all_sessions を呼び出せばいいんじゃないでしょうか。

    そのとき正に何か操作しているセッションにも影響があるかもしれませんが。

    wp-cli へのカスタムコマンドの追加方法は以下のページにあります。

    https://make.wordpress.org/cli/handbook/guides/commands-cookbook/

    私は wp-cli にもWP_User_Meta_Session_Tokensクラスにも詳しくありませんので、本当に意図されているように動作するのかについては分かりません。

    トピック投稿者 yoshi1998

    (@yoshi1998)

    返信ありがとうございます。

    munyagu様にご提示いただいた方法と似ていますが、ページを読み込む毎にWP_Session_Tokenを利用してセッションの有効期限を30分後に更新するようにした所、上手く動作しました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。