WordPressの「/?author=1」をブロックする

本番環境のアクセスログを見てみたら「/?author=1」があったので調べてみたときの覚書。

環境: CentOS7.8, nginx 1.18.0

このアクセスは管理者ユーザーIDを知るためのハッキング手法。
ログを見た感じauthor=1, author=2, author=3と定期的に試している。
アクセス頻度は多くない。一日100件弱。

ログイン時に2段階認証をしているので無視してもいいのだけれど、簡単に対応できるならやってしまいたい。

参考サイト


nginxの設定ファイルだけで対応する。
上記サイトを参考に追記。

location / {
    try_files $uri $uri/ /index.php?$args;

    # Deny ?author= attack
    if ($args ~* author=) {
        return 403;
    }

$argsはGetパラメータが文字列で入っている。
「~*」は大文字小文字を区別しない正規表現。
Getパラメータに「author=」という文字列があれば拒否する設定。

全文はGistで。


【関連記事】