WordPress記事投稿や更新には管理画面のログインページからログインしますが、ログインページのURLはWordPressを利用したことがある人にとっては推測できます。「ユーザー名」と「パスワード」がわからないとログインできませんが、悪質なユーザーからブルートフォースアタック(手あたり次第「ユーザー名」「パスワード」を入力してログインを試す手法)を掛けられる可能性もありセキュリティ対策を行いたいところです。
今回はWordPress管理画面のログインページにベーシック認証を掛ける方法をご紹介します。
ベーシック認証ログイン用.htpasswdファイルを用意
ベーシック認証ではログインするための「ユーザー名」「パスワード」を記載した.htpasswdファイルが必要です。パスワードは暗号化(MD5)で生成する必要があり、htpasswdファイル生成サービスを利用しました。サービスは色々ありますが今回は以下を使用しました。
「ユーザ名」「パスワード」を入力し「暗号化」をクリックすると「右の文字列を.htpasswdファイルにコピー&ペーストしてください」部分に暗号化されたパスワードでベーシック認証ログイン用の「ユーザ名」「パスワード」が生成されます。
<Files wp-login.php> ユーザー名:暗号化されたパスワード </Files>
WordPressログイン画面用のベーシック認証を.htaccessに追記
WordPressサイトではデフォルトで.htaccessファイルがありますが、.htaccessファイルに以下を追記します。
※念のため編集前の.htaccessファイルのバックアップをとってから行って下さい。
<Files wp-login.php> AuthUserFile /***サーバーのパスを記載***/.htpasswd AuthGroupfile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user </Files>
WordPress管理画面のログインページURLに「wp-login.php」が含まれるため、URLに「wp-login.php」がある場合ベーシック認証を掛ける記述となってます。
「/***サーバーのパスを記載***/」にはホスティングサーバーの.htpasswdファイルが置いてある場所(パス)を記述します。
WordPressログインページのベーシック認証イメージ
WordPress管理画面のログインページ(例: https://XXXXXXX/wp-login.php )にアクセスすると以下の様にベーシック認証(「ユーザー名」「パスワード」入力)が表示されます。
.htpasswdファイル作成時の「ユーザー名」「パスワード」入力するとWordPressログインページにアクセスできます。
※流用される場合は自己責任でお願いします。