[WordPress] 不正ログインが鬱陶しいので対策をしました

Viewed: 09:09:51 in December 6, 2019

Posted: April 23, 2019
WordPressの記事をアーカイブ化したものです。

この記事を書いた人
「牧岡ふうふ堂」オーナー。博士(工学)。
酒都圏在住。
某地方の国立系工業大学でアシスタントをしていました。 専門は有機反応・金属錯体(主に希土類)・π共役系。
twitterアカウントは@makiokafufudo(お仕事用)、@ymakioka(個人用)です。

このブログはWordPressで動いているのですが、アクセスログを調べてみるとどこかの奴が頻繁に不正ログインを試みているようで、負荷はかかるし鬱陶しいしで、なんとかしないといけないなあと思っていました。

とはいえWordPressの言語であるPHPは詳しくないので、なるべく簡単な方法がないかなと、とりあえずこんな対策をしました。

幸運にも我が家が契約しているプロバイダは頻繁にIPアドレスを変えることがないのです。なので、我が家で使っているIPアドレス以外からのログイン画面へのアクセスは全て拒否する荒技が使えるのです。

どうするかというと、まず、WordPressディレクトリ内にある”wp-login.php”というファイルを探し、いじります。

いじった後はこんな感じですね。

14行目から17行目までが加えた部分です。簡単に説明すると、

14行目: if文で接続したIPアドレスが我が家のものかどうかを判別します。IPアドレスを入手する関数が、$_SERVER[“REMOTE_ADDR”]で、その右側にある”!=”で、IPアドレスが我が家のもの(“黄色でマスクした部分”)と異なる場合に、trueとなります。つまり、我が家からアクセスした場合はこのif文での判定はfalseであり、”{“から”}”までの内容は実行しないということです。

15行目: if文での判定がtrue、つまり、我が家以外のIPアドレスからの接続の場合、適当なURLへジャンプさせます。ジャンプ先のアドレスを$nanonieleに含めます。”Location: “は、以降のアドレスへジャンプしますというもの。

16行目: カッコ内の$nanoniele内のURLへジャンプします($nanonieleの先頭にに”Location: “があるので)。

17行目: if文を閉じます。

とまあ、不正ログインを試みる輩をこんな感じでログイン画面さえ表示させずに飛ばしてやっているわけです。飛ばした先ではIPアドレスも含め日時をまとめて保存しておき、私がチェックしやすいようにしています。こんな風に。

家のIPアドレスが頻繁に変わりやすいとか、外出先でブログ記事を作ったりとかする場合にはこの方法は有効ではないのですが、私のように自宅でかつIPアドレスが変わりにくい環境で作業をしている人には効果的な対策であると思いますので、ご紹介まで。

 

あわせてどうぞ

アーカイブ化したWordPress記事
よく読まれている記事をアーカイブ化しました。

MJ12botに悩まされる
大量の連続アクセスが特徴。

「あなた、相撲で賭けてるの?」
賭けてたらお縄ですって。

[Perl] 3.9 + 5.1 = 9.0 が減点対象な話
何を習ったかを思い出せ。

[Perl] 画像の形式を判別する (PNG/JPEG/BMP/GIF)
忘れないように記録を残しました。

[お猿さん] 国道2号線沿いにある例の看板の意味
広島でちょっと有名なあれです。

イノシシ肉でチャーシューを作りました
中華街で売られているチャーシューの味に近くなると思います。

PerlとJavascriptの連携でウェブコンテンツを表示させる方法
JavascriptとPerlを組み合わせ、アクセスランキングなどをWebに表示させたいときなどに使います。

餅つき機のモーターが止まった(ºωº)
忘れないように書き留めておきました。

Avogadroで分子モデリング
分子の三次元モデルを描くのに、私はAvogadroを使ってます。

H4Oの構造が見つかった(ただしですね
分子ではないですよ。

H4Oの構造が見つかった (2)
分子ではないですよ。

[水素水] H6Oのエネルギー計算をやってみた
むりくりにやりました。