先日、Twitterで以下のような記事を見つけました。

これは、自分のサイトのURLの後ろに「/?author=1」をつけてアクセスすると、そのサイトのログインIDやプロフィール写真などが表示されるというものです。

現状の具体例
入力するURL:https://tabi-sen/?author=1
表示されるURL:https//tabi-sen/author/(wordpressのログインID)

実はこのサイトでも、特に対策をしていなかったので、ログインIDや僕のプロフィール写真などが簡単に表示できてしまう状態にありました。(2018年11月25日に対応済みです。)

僕は一応、顔出し無しでこのサイトを運営していますし、ワードプレスのログインIDがわかってしまうと、他の人に乗っ取られてしまう可能性がありますよね。

そこで、今回は「?author=1」を入力してもワードプレスのログインIDやプロフィール写真が表示されないようにするにはどうすれば良いか紹介します。

注意!
カスタマイズは自己責任でお願いします。

対応方法

対応方法はプラグインや.httの変更などありますが、今回、僕が実施したのはfunction.phpの修正です。

プラグインの導入が一番手っ取り早いように思いますが、プラグインを入れすぎるとサイトのスピードに影響する恐れもあるため、function.phpをいじることにしました。

それでは、実際の手順を紹介します。

手順1:管理画面からテーマの編集を開く

WordPressの管理画面を開いたら、メニュー欄から「外観」-「テーマを編集」を選びます。

すると、テーマ編集画面が開くので、右のメニューから、「テーマのための関数(function.php)」を選びます。

手順2:function.phpにコードを追記

function.phpの画面が開けたら、以下のコードを追記します。

// ?author=1 対策 
function author_archive_redirect() {
if( is_author() ) {
wp_redirect( home_url());
exit;
}
}
add_action( 'template_redirect', 'author_archive_redirect' );

以上で作業は完了です。


最後に

今回はWordpressのログインIDが漏洩しないようにセキュリティを強化する方法を紹介しました。

せっかく大切に育てたブログが他の人によって壊されたり、データを盗まれたりしないようにしっかりとセキュリティを強化しておきましょう。

スポンサーリンク
コメントを残す

CAPTCHA