みなさん、こんにちはいしかわつかさです。
WordPressを始めたらまず最初にやっておきたいことの1つに、セキュリティの強化があがると思います。
僕も、一番最初に下記のプラグインを入れて、不正アクセスの対策を行いました。
すると、案の定、頻繁に不正アクセスの通知が来るようになりました。
海外からの不正アクセスから、サーバー側で制御すればいいんじゃない?と思うかもしれませんが、今僕が住んでいる場所も日本国外なので、制限を掛けると僕自身がログイン出来なくなるのです。
メール画像の一番上は、僕がログインした時に来た通知です。
なので、日本国内にいる方は、素直にサーバーの機能を使えばいいと思います。
でもやっぱり気になるのは、ログインする際のURLですよね。
デフォルトの状態では、固定な為、ログイン画面まですぐに辿り着きます。
パスワードは複雑にしましたし、Google reCAPTCHAを接しましたが、ログイン画面にも辿り着きにくくしようと考えました。今回は、そのお話です。簡単に出来るのに効果は高いと思います。
特に、僕のようになるべくプラグインを使用したい方にはおすすめです。
https://ドメイン名/wp-login.php
ログイン画面のURLを変更する
もう、お気づきになっている方もいると思いますが、WordPressにログインする為のログイン画面なので、WordPressからログアウトした状態でインストールしたサーバー上で設定を行うことになります。
新しいログインページを作成する
まず、通常のログインページである「wp-login.php」の代わりとなるログインページを作ります。
このファイル名が新ログインページへのURLになります。
https://ドメイン名/new-login-page.php
ここでは、「new-login-page.php」として、進めます。ファイルは「wp-login.php」と同じ階層に作成して下さい。
内容は下記です。
<?php
define('MY_LOGIN', password_hash('keyword', PASSWORD_DEFAULT));
require_once './wp-login.php';
?>
2行目の” keyword ” は任意の文字列で大丈夫です。
これは、「function.php」で認証する為のパスコードとなります。
その為、それぞれに同じ文字列が記載されていたら問題ありません。
「functions.php」を編集する
次に、「function.php」を編集します。この「function.php」はWordPressで最も重要なファイルとなる為、必ずバックアップをとるようにお願いします。何かあった時に、戻せるようにです。
バックアップを取ったら、下記のプログラムを「function.php」の一番下に追記して下さい。
それで、作業は完了です。
// ログインURLを変更
// 定数を定義
define('MY_LOGIN_PAGE', 'new-login-page.php');
// 新ログインURL以外はトップページにリダイレクト
if(!function_exists('login_redirect_home_url')){
function login_redirect_home_url(){
if(defined('MY_LOGIN') === false || password_verify('keyword', MY_LOGIN === false)){
wp_safe_redirect(esc_url(home_url()));
exit;
}
}
}
add_action('login_init', 'login_redirect_home_url');
// ログイン済み or 新しいログインURLは、「wp-login.php」のリンクを新ログインURLに置換
if(!function_exists('login_replace_new_url')){
function login_replace_new_url($path, $scheme){
if(strpos($path, 'wp-login.php') && (is_user_logged_in() || strpos($_SERVER['REQUEST_URI'], MY_LOGIN_PAGE) !== false)){
$path = str_replace('wp-login.php', MY_LOGIN_PAGE, $path);
}
return $path;
}
}
add_filter('site_url', 'login_replace_new_url', 10, 2);
3行目の「new-login-page.php」は、新しいログインページのファイル名を記述します。
8行目の「keyword」は、新しいログインページのファイルに入力した任意の文字列を記述します。
まとめ
以前のログインURLを入力すると、トップページにリダイレクトされるようになり、使えません。
今後は、新しく設定したログインURLで運用することになりますので、間違えないようにして下さい。
自宅に置き換えると、これまでカギをテンプルキーやカードキー、顔認証にすることに加え、SECOMなどでなにかあった時に通報するシステムにしていたけど、そもそも玄関を正面に作らず別の場所に作ろうというのが、今回実践した事です。
これで第三者にログイン画面を特定されにくくなったので、よりセキュリティに強くなったと言えますね。
コメント