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

保守・セキュリティ対策

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編)
最近Webサイトのセキュリティ対策について、ご相談をいただく機会が増えてきました。 特にWordPressで作られたサイトでは、以下のような事例があります。 ・気づかないうちに英語で書かれた謎の記事が大量に投稿されている ・迷惑メールが大量
WordPressプラグイン「SiteGuard」でセキュリティ対策をしよう
前回の記事で、WordPressのセキュリティ対策についてお話しましたが、今回はプラグインを使って手軽にセキュリティ対策ができる方法についてご紹介します。 その名も「SiteGuard」というプラグインです。 このプラグインを利用することで
429 Too Many Requests
]]>