WordPress Tips

WordPress ユーザー一覧の表示と対策

2020-03-03

本記事にはプロモーションが含まれています。

WordPress ユーザー一覧の表示と対策

WordPressのユーザーは簡単に調べられます。

WordPressユーザーの一覧を見る方法

WPのURL/?author=1

アクセスすると、/archives/author/ユーザ名にリダイレクトされ、ユーザー名がすぐにわかります。

WP REST APIはデフォルトで有効になっているので、以下の方法でも確認できます。

WPのURL/wp-json/wp/v2/users

ユーザー一覧の表示対策

WordPressでユーザ名がわかってしまうのはセキュリティの観点からも良しとされていないです。(この辺の理由は他のサイトで述べられています)

これを対策するプラグインとして有名なのは

ですね。それ以外にもWordPressのセキュリティ関連のプラグインを入れていればユーザー一覧対策はされている場合もあり。


All In One WP Security には
/?author = 1でユーザー情報を取得するのを防止する対策があります。

Miscellaneous > Users Enumeration

Disable Users Enumeration にチェックをいれます。

プラグインに頼らないでやりたい場合は、
functions.php
.htaccess
に設定する方法があります。

functions.phpに記述する

if (!is_admin()) {
// default URL format
if (preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING'])) die();
add_filter('redirect_canonical', 'shapeSpace_check_enum', 10, 2);
}
function shapeSpace_check_enum($redirect, $request) {
// permalink URL format
if (preg_match('/\?author=([0-9]*)(\/*)/i', $request)) die();
else return $redirect;
}

/?author=1等のアクセスをdie()で終了させています

.htaccessに記述する方法

<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* http://example.com/? [L,R=302]
</IfModule>

こちらは/?author=1のアクセスをexample.comへリダイレクトする方法です。

http://example.comの部分は適宜変更します。

参考にさせていただいたサイト:

WordPress Username Enumeration Techniques and How to Fix Them

【バレてOK!】WordPressのユーザー名は99%変更不要

今月キャンペーン特典があるサービス

  • エックスサーバー
    利用料最大50%キャッシュバッグ月額495円&ドメイン永久無料 - 2024年4月3日(水)12:00まで
  • ConoHa WING
    WINGパック36ヶ月で月額643円 55%OFF ドメイン2個無料 - 2024年4月5日(金)16:00まで
  • カラフルボックス
    ドメイン永久無料特典とBOX2以上の月額費用が50%OFFのクーポンコード「SERVER50

-WordPress Tips
-