WordPressのフォーラムでも「wp-login.php へのアタックが多くなってきているので」というお題目も出ていた様子。めっちゃ古い記事ですけどもw
とりあえずプラグインで対策はできますが、phpなんでDBへの負荷はあるよね~ってことで、前回に引き続いて不正アクセス対策をやろうと思いますが、今回は管理権限がないサービスを使っている人向けの内容です。
が
.htaccessが使えて、mod_rewriteが使えるという事が前提になってます。
最近のだいたいのレンタルサーバーでは.htaccessは使えるよな~って勝手な思いこみで動いておりますので。
とりあえずレンタルサーバーで試す前に.htaccessじたいの記述に問題がないか、さくらのVPSで確認しましたが、全く問題なしでした。
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$ ←自分のIPアドレスに変えよう。 RewriteRule ^(.*)$ - [F] </IfModule>
これが何かをざっくりと説明すると、wp-login.phpかwp-adminっていうディレクトリには指定したIPアドレスからしかアクセスできぬのだ!という内容。
こいつをドキュメントルート直下に.htaccessという名前で保存します。
それだけ。
設定するための自分のアクセス元IPアドレスは、確認くん(ググって)とかで調べたりしてみる。
最近じゃBBルーターとか使ってるのが一般的だろうから、ipconfigとかやっても、10~だったり、172.16~31.~とか、192.168.~とかはローカルIPになるのでそれを設定してもできませぬ!ので注意。
今回はロリポップとさくらで試してみました。結果はどちらもOKだった。
mod_rewriteも使えるってことです。
手順ですけど、たぶん普段使ってる人なら画像を見たら何となくわかると思うので多くは語りませぬ。
断じて手抜きではないですの。
FTPソフトの設定もなんか面倒なので各社のツールを使います。
ちゃんとこういう事ができるように作られているので、手抜きではないですの。
ロリポップの場合はウェブツールのロリポップ!FTPを使います。
さくらの場合はサーバーコントロールパネルのファイルマネージャーを使います。
設定が完了しましたら必ずテストをやろう。
ルーター再起動とかやってIPアドレスを変更するのは面倒なので、スマホからアクセスしてみるテスト。
ロリポ
さくら
ごらんのとおりうまく拒否ってくれてますね。ってことで実験は成功しました。
.htaccessを置く場所を間違えないようにだけ気を付けよう。