ユーザー設定でブログの表示名を変えたからよっぽど大丈夫だろうと思っていた矢先、
ある方法で簡単にログインユーザー名を第三者が知れる方法があることを知ったブログ初心者です
WordPressを使っているけど対策していない方にはやっておいた方が良いんじゃないかな?と思います
まだ初めて10日だったからよかったけど、あとあと気づいてたらと思うとゾッとします
初期設定ではユーザー名が丸見え!?
WordPressのメニューの中には、「ユーザー」という項目で、ユーザー情報の管理ができます
ユーザー設定の中に「名前」という項目があります
初期設定では、「ニックネーム」と「ブログ上の表示名」が「ユーザー名」(ログイン情報)と同じになっています
何故こんな恐ろしい仕様なのか コレガワカラナイ
投稿記事に投稿者名などが表示される設定にしている場合、モロバレ状態です
ログインするためには、ユーザー名とパスワードの2段階で認証を行いますが、ここでブログ上の表示名とユーザ名が同じままの場合、ユーザー名を第三者に知られてしまいます
家の鍵が2個ある内の1個は予備の鍵を駅前のティッシュ配りのように誰にでも配布している状態になってしまいます
これから紹介する方法を行っても「ニックネーム」と「ブログ上の表示名」を変更しない限りは、ユーザー名が「投稿アーカイブ内」に表示されてしまいますので必ず変更しておきましょう
ニックネームと表示名を変えるだけでは全く意味なし!
ニックネームとブログの表示名はユーザー名とは違うものに変えておいたから大丈夫だと思ってるそこの貴方!(私もそうでした)
それだけでは全く意味がありません
自分のサイトURLの末尾に「/?author=1」を付け加えるだけで、ユーザー名が表示されてしまうんです
私のサイトの場合ですと、
これを(自分のURLアドレスに)
こうして(「/?author=1」を付け加えてEnter)
こうじゃ!!!(ユーザー名がガッツリ表示される)
おい、マジか(´゚ω゚`)
って本気で思いました
これは早急に対策をする必要がありますね
ちなみに「/?author=1」の1は1番目のユーザーという意味なので、
ユーザーをいくつか作っている場合は、
「/?author=2」で2番目のユーザー名、
「/?author=3」で3番目のユーザー名を表示する仕様みたいです
つまり対策を取っていない場合すべてのユーザー名が抜かれてしまう可能性があります
ユーザー名が表示されないようにする対策方法は?
方法は2つあります(他にもあるかもしれないけど)
- プラグイン「Edit Author Slug」を使う方法
- function.phpに追記する方法
簡単なのは1ですが、プラグインを常駐させる必要があります
プラグイン「Edit Author Slug」を使う方法
メニュー内のプラグインの新規追加で、
「Edit Author Slug」で検索して、インストール→有効化します
そうすると、ユーザー設定の中にEdit Author Slugの項目が出てきます
ここのカスタム設定で「/?author=1」を入力した時に表示されるユーザー名を変更することが出来ます
例えばユーザー名が「admin」だったとした場合
カスタム設定で「xxxxxxxxxx」と設定すれば、
設定する前は
「https://myaonon.com/author/admin」
だったものが
「https://myaonon.com/author/xxxxxxxxxx」
という表示になります
せっかくセキュリティ強化をするので、
ユーザー名と関連しているようなワードは控えましょう
function.phpに追記する方法
外観→テーマエディターから
画面右側にある
「テーマのための関数(function.php)」を
クリックしてfunction.phpを編集します
function.phpの編集画面を開いたら、
以下のコードを追記して更新すれば完了です
function disable_author_archive_query() {
if( preg_match(‘/author=([0-9]*)/i’, $_SERVER[‘QUERY_STRING’]) ){
wp_redirect( home_url() );
exit;
}
}
add_action(‘init’, ‘disable_author_archive_query’);
最後に自分のサイトのURLアドレス末尾に「/?author=1」を追記してEnterを押して、ユーザー名が表示されないことを確認しておきましょう
ユーザー名がわかりやすいものだから変更したい
初期設定でそのまま作るとユーザー名が「admin」という物凄くわかりやすいものになってしまいます
もし「admin」のままなら変えたほうが良いと思います
どれくらいわかりやすいのかと言うと、「IDがadmin」は「パスワードが123456」のようなものです
とはいえ、ユーザー設定を見てみると
このように変更できないと言われるわけです
でも「Username Changer」プラグインを使えば変更することが出来ます!
メニューのプラグインの新規追加から「Username Changer」をインストールして有効化しましょう
プラグインを有効化したら、 ユーザー設定を見直してみます
先程までは変更できないと言われたものが「Change Username」に変わっていますので、クリックします
新しく設定したいユーザー名を入力して、「Save Username」をクリックすると、
緑色の英語で新しいユーザー名に変わったよって言われるので、これでユーザー名の変更は終了です
ユーザー名を変更し終わったら、「Username Changer」は停止しておいて問題ありません
まとめ
・WordPressの仕様上、初期設定ではユーザー名流出の可能性有り
・プラグインを使うかfunction.phpを編集することで見えなく出来る
・通常変更できないユーザー名もプラグインを使って変更できる
ちなみに私はfunction.phpを編集する方法にしてみました
で一度試してみてください
余計な情報が表示されないはずですよー
コメント