コンタクトフォームのセキュリティ強化
この記事では、WordPressでよく利用されているプラグインContact Form 7にGoogle reCAPTCHAを適用し、スパムなどインターネットボット対策の方法について解説していきます。WordPressウェブサイトのサイバーセキュリティの向上にぜひお役立てください。
Google reCAPTCHAとは
reCAPTCHAは、インターネットボットからウェブサイトを防御するためのシステムであり、Google社から提供されています。reCAPTCHAの利用にはGoogleアカウントが必要となります。reCAPTCHAは無料で利用できるシステムであり、このシステムを導入したウェブサイトが今どんどん増えています。2020年10月時点では、reCAPTCHAは2つのバージョンが選択可能です。
reCAPTCHA v2は、チャレンジを使用してリクエストを検証するバージョンです。ユーザがチェックボックスにチェックすることで、インターネットボットでないことを検証するタイプで、読者のみなさんも一度は経験されたことがあることでしょう。検証の結果、連続アクセスなどによってボットの可能性があると判定された場合には、指定された物体が映っている画像を選ぶチャレンジに移行します。すべて正解すると検証は完了します。
通常、送信ボタンの前などに設置されているのが一般的です。reCAPTCHA v2には、チェックボックスを表示せずにバックグラウンドで検証するタイプ(Invisible)もあります。
reCAPTCHA v3は、2018年10月から正式リリースされ、ウェブサイトの閲覧行動からスコアを算定し、求められたスコアに基づいてリクエストを検証するバージョンです。チェックボックスや画像認識などは一切表示されることはなく、ユーザは何もすることはありませんので、reCAPTCHA v2に比べてユーザビリティがさらに向上しました。
reCAPTCHA v3では、人工知能(AI)がウェブサイトの閲覧行動からスコアを算定しています。そのため、同一ドメイン内のすべての閲覧行動がGoogleによって収集されています。さらには、閲覧行動のサンプルが多くなるほど、インターネットボットを見分ける精度が向上すると言われています。
通常は、画面の右下にreCAPTCHAのロゴマーク(バッジ)が表示されています。バッジにマウスオーバすると以下のように表示されます。中にはバッチを表示しないように設定しているウェブサイトもあります。そのような場合は、ウェブサイトのプライバシーポリシーに記述されていることがあります。
reCAPTCHA v3の導入
今回は、reCAPTCHA v3をWordPress用プラグインのContact Form 7に適用して、不正なお問い合わせアクセスを遮断するインターネットボット対策の手順を紹介していきます。Googleアカウントをお持ちでない場合は作成してください。
Google reCAPTCHAのウェブページにアクセスし、Admin Consoleに移動します。以下のページから、必須項目を入力してreCAPTCHAを利用するためのキーを作成します。
「ラベル」には、reCAPTCHAを適用するウェブサイトを識別できるような名前を設定します。通常は例のようにドメインを入力しておくのがよいでしょう。「reCAPTCHAタイプ」は、reCAPTCHA v3のラジオボタンを選択します。「ドメイン」には、reCAPTCHAを適用するウェブサイトのドメインを設定します。オーナーが他のgoogleアカウントを持っている場合は「オーナー」の「メールアドレスを入力」に追加入力可能ですが、通常はログイン中のアカウントのメールアドレスだけ問題ありません。
「reCAPTCHA 利用条件に同意する」にチェックして送信ボタンを押すと、以下のような画面にreCAPTCHA v3を利用するための「①サイトキー」と「②シークレットキー」が表示されます。この2つのキーをContact Form 7に設定することで、reCAPTCHA v3が適用されます。
Contact Form 7の設定
ここからは、Contact Form 7にreCAPTCHAを適用する手順を解説していきます。WordPressの管理画面から「お問い合わせ」→「インテグレーション」を選択します。reCAPTCHAの「インテグレーションのセットアップ」ボタンを押します。
先の手順で取得したreCAPTCHA v3の「①サイトキー」と「②シークレットキー」を以下のフィールドにそれぞれ入力します。最後に「変更を保存」ボタンを押してすべての作業は完了となります。
編集後記
今回は、google reCAPTCHA v3をWordPress用プラグインのContact Form 7に適用して、インターネットボットからコンタクトフォームへの不正アクセスを防止するための設定手順を紹介しました。
google reCAPTCHA v3は、ウェブサイト全体の閲覧行動を利用してインターネットボットを見分ける仕組みであり、Googleが閲覧者の行動に関する情報を収集しているという点について、閲覧者のプライバシー保護の観点から賛否が分かれています。
しかしながら、インターネットボットなどの不正アクセスについては年々進化を遂げ巧妙化しているため、攻撃側と対策側は常にイタチごっこのしのぎをしているのが実情なのです。セキュリティとプライバシー保護は両天秤の関係といっても過言ではありません。
ただし、プライバシー保護を優先しすぎれば、インターネットの世界がとても危険な状態となってしまいます。セキュリティとプライバシー保護について、正しく理解し正しく恐れる姿勢を決して忘れてはなりません。
筆者の個人的見解を述べると、google reCAPTCHA v3は閲覧行動の流れを収集しているだけであって、閲覧したページの内容を収集しているわけではなく、また人工知能(AI)を活用して行動スコアを算定するためには、収集した情報を数値化(ベクトル化など)して処理する必要があるため、人間に対しては無意味な情報に変換されている点を踏まえれば、閲覧者のプライバシーを侵害するようなことにはつながらないと考えています。
google reCAPTCHA v3を積極的に利用することにより、より精度の高いインターネットボットの検出が可能となります。世界中のウェブサイトが対策することで、インターネット空間の安全が保たれていきます。
安全で豊かな未来のために、あなたのウェブサイトにもサイバーセキュリティ対策をお願いします。ご不明な点やお悩み事などございましたら、ボランティアでご相談に対応させていただきますのでお気軽にお問い合わせください。
ホームページやWordPressに関するお問い合わについて
どんな内容でも構いませんので、気兼ねなくご相談ください。
システムエンジニアリングの経験を持つスタッフが、ボランティアでご相談に応じさせていただきます。