- 実践 WordPress ホーム
- セキュリティ強化
WordPress ログインフォームに reCAPTCHA を追加する方法
WordPress サイトにおいて重要なセキュリティ施策のひとつにログインフォームのセキュリティ強化があります。
ここでは Login No Captcha reCAPTCHA プラグインを使って WordPress のログインフォームに reCAPTCHA 1 を導入・設定する手順を説明します。
確認時のバージョン
- WordPress
6.4.3
- Login No Captcha reCAPTCHA
1.7.3
なぜ Login No Captcha reCAPTCHA プラグインか?
手順を説明する前になぜ Login No Captcha reCAPTCHA プラグインなのかを説明します。
Login No Captcha reCAPTCHA プラグインは WordPress のログイン画面に reCAPTCHA を導入したいときに最もおすすめのプラグインです。
同様の機能を提供するプラグインが他にもありますが、以下の理由で Login No Captcha reCAPTCHA プラグインが最もおすすめです。
- シンプル: ログイン画面に reCAPTCHA を追加する機能だけを提供する
- インストール数が多い: 9 万インストール以上
- 評価が高い: ほとんどのユーザーが 5 段階評価で 5 評価
- アップセルの誘導が無い: 優れたプラグインにありがちな「プロ版はこちら」の誘導が無い
いわゆる「ひとつのことをうまくやる」系のプラグインで、コードも非常に洗練されています。 最近は開発が活発ではありませんが、機能的にはほぼ完成してしまっており脆弱性なども長い間見つかっていない、よい意味で「枯れたプラグイン」なのでその点はあまり問題無いと思います。
インストール数だけで言えば reCaptcha by BestWebSoft や CAPTCHA 4WP などもっとインストール数の多いプラグインがありますが、実際に比較検討をすると
- シンプルさ
- プラグインのコード品質
- 評価の高さ
- アップセルの誘導の煩わしさ
などの点で Login No Captcha reCAPTCHA がよいという評価になることが多いと思います。
以下利用の手順です。
1. Google reCAPTCHA でサイトを登録
reCAPTCHA サービス上でサイトの登録を行います。
reCAPTCHA の利用には Google アカウントが必要なので Google アカウントが無い場合は事前に作成します。
- ブラウザで reCAPTCHA サイト にアクセスします
-
コンソールページを開いて画面右側のプラスアイコンをクリックします
-
サイト登録フォームが表示されるので、 reCAPTCHA type に reCAPTCHA v2 → "I'm not a robot" Checkbox を選択します
-
Domains に実際の環境のドメインを入力して「 SUBMIT 」ボタンをクリックします
- 完了するとサイトキーとシークレットキーを取得できるようになります
2. プラグインのインストール
プラグインをインストール・有効化します。
管理画面から行う場合は「プラグイン」 → 「新規追加」に進み、検索フィールドに「 Login No Captcha reCAPTHA 」と入力します。 プラグインが検索結果に出てきたら「いますぐインストール」、続いて「有効化」をクリックします。
WordPress のコマンドラインツール WP-CLI を使う場合は WordPress インストールディレクトリに移動して wp plugin
のサブコマンドでインストールします。
3. プラグインの設定でキーとシークレットを登録
-
WordPress の管理画面のサイドメニューの「設定」 → 「Login NoCaptcha をクリックします
-
設定ページが表示されるので、サイトキーとシークレットキーを入力して「 Save Changes 」ボタンをクリックします
設定が完了すれば管理画面のログインページに reCAPTCHA の「 I'm not a robot 」チェックボックスが追加されていることが確認できるはずです。
注意点
以下注意点です。
- 本原稿作成時点で Login No Captcha reCAPTCHA は reCAPTCHA v3 には対応していません。現状問題ありませんが、 Google 社はよく利用されているサービスでも終了することがあるので、数年以内にサービス提供が停止する可能性はあります。
- reCAPTCHA の無料版(クラシック版)の制約により、悪意のある攻撃の多いサイトなどだと十分な数のリクエスト処理ができない場合があります。その場合は reCAPTCHA のエンタープライズ版への切り替えを検討してください。
-
Google 社が提供する、ボットによるフォーム送信をブロックしてサイトをブルートフォース攻撃やスパムから保護するサービスです。 ↩