【完全版】WordPressのauthorを見えなくする

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

wordpress

/?author=1

WordPressでは、デフォルトだとURLの最後に/?author=1と打つとauthorページが表示されます。このauthorページのURLはログインIDと一致しているため、/?author=1と入力するだけでログインIDが知られてしまうというセキュリティ上の欠陥があるのです。

ログインIDが知られてしまうことを防ぐためのいくつかの方法がネットに転っていましたが、どれも自分の希望を満たすものではなかったので自分で書いて見ました。

調べて出てきたほとんどの方法は、authorという文字が含まれていたらhomeにリダイレクトするというもので、これだと

という欠点がありました。

コード

404.phpがあることが条件です。

functions.phpに以下を追記

コード解説

解説と言ってもシンプルなif文なのであまり説明するところが無いのですが・・・。

  • l.5 wordpressのis_author関数でauthorページかどうかを判定
  • l.6 authorページならば404.phpにリダイレクト
  • l.9 /404.phpでは無く、404の条件を満たしているとき(つまり、https://koejima.com/aaaなど、存在しないページにアクセスしようとした時)
  • l.10 404.phpにリダイレクト

これでauthorページ、または存在しないページにアクセスしようとすると強制的に404.phpにリダイレクトされ、authorについての情報は全く得られなくなりました!

PR

この記事が気に入ったら
いいね ! しよう

Twitter で
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。