初級者~中級者向け 有用

【有用】WordPressのユーザー名(ログインID)を隠すプラグイン

WordPressのプラグイン
この記事は約5分で読めます。

文中の説明画像をクリックすると拡大します。

Pocket

WordPressのユーザー名(ログインID)を第三者に知られないようにする方法

WordPressでWebサイト運営では、セキュリティ対策が必要です。特に、管理画面へのログインには最新の注意が必要です。

ところが、ログインで使用するIDはちょっとした方法で、第三者に簡単知られてしまいます

例えば、WebサイトのトップページのURLが以下だとします。

http://サンプル.com/

このURLの末尾に、「?author=1」という文字列を追加してアクセスします。

http://サンプル.com/?author=1

すると、URLにログインIDが含まれたページへ自動的に移動(リダイレクト)します。

http://サンプル.com/author/【ログインID】/

つまり、WebサイトのトップページのURLに「?author=1」を追加すると、ブラウザのアドレス欄からWordPressのログインIDが知られてしまいます

これは少し怖いですね。そこでブラウザに表示されるログインIDを別の文字列に変更できるプラグインを導入しましょう。

それが、「Edit Author Slug」プラグインです。

「Edit Author Slug」プラグインの使い方

Edit Author Slugプラグインは、WordPressの管理画面からインストールできます。プラグイン追加画面から検索して、インストールしましょう。

インストールしたら有効化しましょう。

管理画面の「ユーザー」から「あなたのプロフィール」画面を表示させます。

ログインしているユーザーのプロフィール設定画面が表示されます。ページを下にスクロールします。

投稿者スラッグという設定があり、デフォルトではログインに使われているログインIDのチェックボックスにチェックが入力されています。

これを「カスタム設定」に変更して、ログインIDとは違う文字列に設定変更しましょう。

画像では「xxxxxx」をサンプルとして入力しました。入力を終えたら「プロフィールを更新」ボタンをクリックして設定を保存します。

この状態で、WebサイトのトップページのURLに「?author=1」を追加したURLにアクセスしましょう。

このように、ログインIDが表示されていた箇所が「xxxxxx」に変更されていることが確認できます。これで、Edit Author Slugの使い方は以上です。

functions.phpを使って投稿者ページへのアクセスをリダイレクトする方法

Edit Author Slugプラグインは、ユーザー名(ログインID)の漏洩対策として非常に有用なプラグインですが、WordPressにインストールするプラグインはできるだけ少なくしたいという人にとっては、少し機能が物足りないプラグインでもあります。

プラグインを使わずとも、「?author=1」を付加されてアクセスされたときに、ログインIDが表示されているURLへリダイレクトされなければ、この問題は解決です。

そこで、WordPressのテーマフォルダにあるfunctions.phpに少しのコードを追加することで、この問題を解決する方法もあります。

「?author=1」を付加されてアクセスされた場合、ログインIDの表示されているページではなくて、ページが存在しない事を表す404.phpへとリダイレクトさせる方法です。

functions.phpへ、以下のコードを追加します。

【functions.php】

add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
wp_redirect( home_url( '/404.php' ) );
exit;
}
}
add_action('init', 'disable_author_archive');

functions.phpに上記のコードが追加できたら、再度「?author=1」を付けてWebサイトのトップページにアクセスしましょう。

ログインIDが表示されているURLではなく、404.phpへとリダイレクトされるはずです。

なお、404.phpではなくトップページに転送させたい場合は、「/404.php」のところを「/」とスラッシュだけに書き換えてください。

ユーザー名(ログインID)を非表示にしても安心はできない

WordPressのデフォルトの状態では、ユーザー名(ログインID)が簡単に知られてしまうことを紹介しました。

その対策として、Edit Author Slugプラグインの使い方と、functions.phpへコードを追加して404.phpへリダイレクトさせる方法についても解説しました。

これらの方法は、あくまでも使用しているログインIDを知られないようにするための対策に過ぎません。つまりログインID自体が変更されるわけではありません

WordPressのデフォルトでは、「admin」という文字列がログインIDとして設定されています。

今回紹介した方法で、ログインIDを知られることがなくなったからといって、「admin」のような単純なログインIDのまま運営することは避けてください

WordPressに限らず、ログイン画面への攻撃では、「admin」のように良く知られている文字列をログインIDと想定して攻撃されることがよくあります。

よく言われる、パスワードを難解にするという対策が最も重要ですが、ログインIDに関しても、デフォルトのものをそのまま使わないということも大切です。

デフォルトのログインIDである「admin」を使わない事を前提として、Edit Author Slugプラグインを導入したり、functions.phpによるカスタマイズを実行したりすることが重要です。

 

まとめ

  • WordPressのユーザー名(ログインID)は、簡単に第三者に知られてしまう。
  • WordPressのユーザー名を別の文字列として表示させる「Edit Author Slug」プラグインがある。
  • WordPressのユーザー名は、デフォルトの「admin」ではなく、別の文字列を設定して運用する。
Pocket