本稿では、Nginxでプラグインを使わずにログインページURLを変更する方法を紹介します。
もちろんKUSANAGI8・9環境下でも動作します。
アイキャッチの画像はKUSANAGIのイメージキャラクター草薙沙耶 ©PRIME STRATEGY
Nginxの定番セキュリティプラグイン「Login rebuilder」
WordPressにおける不正アクセス対策の筆頭とも言いうるのがログインページURLの変更。
そしてKUSANAGI(Nginx)の場合、ログインページURLを変更する手段の定番はプラグイン「Login rebuilder」を使うことです。
紹介記事を書いているくらいですので、私もKUSANAGI導入以来ずっと使ってきました。
しかし、せっかく高速なKUSANAGIを使っているのですから、プラグインは1つでも減らしたい。
ログインページでしか動かない本プラグインを削る意味なんてないのですが、それでもと試してみました。
Login rebuilder作者がプラグインを使わない方法を紹介している
実はLogin rebuilderの作者さんが、プラグインを使わずログインページURLを変更する方法を紹介しています。
むしろ、この方法をプラグイン化したのが「Login rebuilder」です。
私もLogin rebuilderを導入した際、この記事を読んではいました。
しかし当時は慣れないNginxで頭がパンク状態。
素直にプラグインに甘えました。
だけど、今読み直してみたら簡単そうに見えたのでやってみました。
結果は、
できた!
プラグイン無しでログインページURLを変更するためのポイント
ソースコードはリンク先を御覧ください。
本稿では作業の際の注意点を記します。
今までLogin rebuilderを使ってた人は、ログインページ用のPHPファイルを新しく作り直して始めた方がいいかも
記述がプラグインと若干違いますので。
最初からやり直した方が混乱するリスクは減ります。
ログインページ用のPHPファイル。
define( 'ANYWHERE_LOGIN', sha1( 'keyword' ) );
①keywordを任意の文字列に変更します。
functions.php。
define( 'ANYWHERE_LOGIN_PAGE', 'anywhere-login.php' );
②anywhere-login.phpをログインページ用のPHPファイルの名前に変更します。
if ( !defined( 'ANYWHERE_LOGIN' ) || sha1( 'keyword' ) != ANYWHERE_LOGIN ) {
③keywordに①と同じ文字列を入れます。
さらに突き詰めたい方向けに
Luxeritasテーマの作者るな様がファイルをディレクトリに変更する方法を紹介しています。
ここまでやれば完壁じゃないでしょうか?
まとめ
一見すると難しそうに見えますが、ログインページ用のPHPファイルはプラグインを使うにしても作成します。
つまり、キーワードを自分で考えて、functions.phpにコピペして、2箇所書き換えるだけです。
総合的な手間はプラグイン導入と大して変わらないはず
ぜひやってみてください!