ブログ
運用

WordPressのセキュリティ対策 自動ログアウト時間を設定しよう

WordPressのセキュリティ対策 自動ログアウトを設定しよう

2021-03-18

WordPressのセキュリティを高める施策のひとつに、自動ログアウト時間を設けるというものがあります。

例えば、不特定多数の人が利用するPCでログインすると、WordPressの場合は一定日数経過するまでログイン状態が続きます。

このため、ブラウザの閲覧履歴からWordPress管理画面にアクセスされてしまうと、普通にログインできてしまうのです。

また自分のPCであっても、しばらく席を外した際に、第三者に勝手に操作されてしまうというリスクも考えられますよね。

今日はそういったセキュリティリスクを回避するための手段として、「自動ログアウト時間の設定」を行なってみたいと思います。

WordPressにおける2つの自動ログアウト方法

自動ログアウトには、2つの種類があります。

・ログイン後、一定期間経過でログアウトさせる
・ログイン時に、一定時間操作がない場合にログアウトさせる

それぞれ詳しく見てみましょう。

ログイン後、一定期間経過でログアウトさせる

ログインした後、別のサイトを閲覧したりしても、WordPressは一定期間の間はログイン状態を維持します。このためログイン操作なしに管理画面に入ることができるのですが、これを指定の時間でログアウトさせる方法です。

※今回はWordPressの管理画面から、管理者権限を使って操作を行う方法をご紹介します。
管理者権限がない、またはお付き合いのある制作会社がある場合には、そちらにご依頼した方がスムーズです。
(プラソルのお客様も、ご自身で編集されないようにご注意ください。弊社のローカルにあるファイルと差分が生じるため、更新が入った際に上書きして消してしまう可能性があります)

1.管理画面から、functions.phpを開く

WordPressの管理画面にログインし、外観>テーマの編集から、functions.phpを開いてください。

2.バックアップを取る

まずはバックアップを取りましょう。
functions.phpの記述をCtrl+Aで全選択し、Ctrl+Cでコピー、メモ帳などにCtrl+Vで貼り付けて、わかりやすい場所に保存しておいてください。

3.functions.phpへの記述を追加する

次に、functions.phpの最下部に次のように記述して保存します。

// 一定期間経過で自動ログアウト
add_filter( 'auth_cookie_expiration', 'stay_logged_in' );
function stay_logged_in( $expire ) {
 return 86400; // 60秒 * 60分 * 24時間=1日
}

このケースは1日でログアウトするように設定していますが、「86400」の箇所を変更することで、自由に時間を設定することができます。

これで、一定期間経過すると自動的にログアウトするようになりました。

ログイン時に、一定時間操作がない場合にログアウトさせる

こちらも、流れは「一定期間経過でログアウトさせる」と一緒です。
1.functions.phpを開き、2.バックアップを取ったあと、functions.php最下部に下記のように記述してください。

//一定時間操作がない場合に自動ログアウト
add_action( ‘admin_init’, ‘mytheme_admin_init’ );
function mytheme_admin_init() {
add_filter( ‘auth_cookie_expiration’, ‘mytheme_auth_cookie_expiration’, 10, 3 );
$user = wp_get_current_user();
wp_set_auth_cookie( $user->ID, true );
}
function mytheme_auth_cookie_expiration( $expiration, $user_id, $remember ) {
if ( $remember ) $expiration = 3600; // 60秒 * 60分 =1時間
return $expiration;
}

こちらも時間の部分は自由に変更することができます。

これで、一定時間操作がない場合は自動的にログアウトさせることができるようになりました。

自動ログアウト設定まとめ

頻繁に操作する場合、自動ログアウトは少々煩わしく感じるかもしれません。特に管理者が自分だけで、操作も事務所のPCからしか行わない場合は、有用性はあまり高くないでしょう。

逆に言うと複数人で管理している場合や、共用PCを使うようなケースではぜひ設定しておきたい機能です。

セキュリティは小さな対策の積み重ねが重要になりますので、ぜひ検討してみてください。

↓WordPressのセキュリティリスクや、プラグインもご紹介しています。

Webサイトのセキュリティ対策(WordPress編)

WordPressプラグイン「SiteGuard」でセキュリティ対策をしよう

リモートワークのセキュリティ対策〜業務用ツール編〜

一覧へ戻る

Contactお問い合せ

その悩み、プラソルに
相談してみませんか?

制作に関するご質問、お見積もりに関することなど、
お気軽にお問い合わせください。

お問い合せ・お見積もり

お電話でのお問い合せも受け付けております。
お気軽にお問い合せください。

06-6441-3341受付時間:平日9:00~18:00