数ヶ月ほど前から、Contact Form 7に
「安全でないメール設定が十分な防御策なく使われている」
とのエラー表示が出るようになりました。
今回はこれの対処方法について。
目次
「安全でないメール設定」のエラー表示
エラー表示は、WP管理画面の「お問い合わせ」の箇所と、
Contact Form 7設定画面の「メール (2) [your-email]」の箇所です。
メール 2は自動返信メール用の設定で、これを使わない場合は、このエラーは表示されないようです。
で、そもそも「安全でないメール設定が十分な防御策なく使われている」とは何ぞや?
公式サイトには以下のように記載されています(一部省略)。
To (送信先)内でメールタグ (例えば [your-email] のような) が使われる場合、このメールタグはユーザーが入力するメールアドレスに置換され、メールが送られることになります。
これは危険な状況であり、悪意を持ったユーザーやスパマーがあなたのサイトの名前を利用して、任意のアドレス宛にメールを送信する悪用を許してしまうことになります。
このようなリスクからあなたのコンタクトフォームを保護するために、ボットによる自動化攻撃を防ぐことに最適化された reCAPTCHA の展開が最低でも必要になります。
なるほど、そうですか。。
ま、とりあえず、このエラー表示を消すには reCAPTCHAの導入が必須のようです。
対処方法:Contact Form 7 に reCAPTCHA を導入
reCAPTCHAはGoogle謹製のスパム防止ツールです。
「Contact Form 7」に、この「reCAPTCHA」を導入します。
- reCAPTCHAを登録
- Contact Form 7に導入
の手順となります。
reCAPTCHAを登録
reCAPTCHAのページに行きます。
ページ上部の「v3 Admin Console」をクリックします。
次に、Googleアカウントへのログインを求められるのでログインします。
アカウント持ってない人は作りましょう。
ログインすると、reCAPTCHAが初めての人は以下のような画面になります。
以下、項目を解説します。
ラベル
ここはサイトの名称です。
自由に任意の名前を入れてください。
(単に「私のサイト」でも良いです)
reCAPTCHA タイプ
デフォルトの「スコアベース(v3)」のままで良いです。
ドメイン
サイトのドメインを入れましょう。
例えば当ブログなら「souken-blog.com」となります。
Google Cloud Platform
ここはそのままで大丈夫です。
何もしなくて良いです。
私は、Google Cloud Platform の利用規約~
ここはチェックを入れてください。
(*表示されない人は2度目なので、そのままで大丈夫です)
最後に「送信」ボタンをクリックします。
「サイトキー」と「シークレットキー」が表示されるので、
これをコピーしてどこかにメモっておきましょう。
コピーが終わればログアウトしても大丈夫です。
Contact Form 7に導入
WordPress管理画面⇒お問い合わせ⇒インテグレーション
「外部 API とのインテグレーション」ページが開きます。
この中の「reCAPTCHA」の「インテグレーションのセットアップ」をクリック。
reCAPTCHAのサイトキーとシークレットキーを入れて「変更を保存」をクリック。
さらに「インテグレーションのセットアップ」をクリック。
これでreCAPTCHAが有効化されました。簡単ですね。
サイトを見てみると、ページの右下にreCAPTCHAマークが表示されています。
また、これでエラー表示も消えました!
reCAPTCHAの登録が2度目以降の人は
ちなみに、すでにreCAPTCHAを登録している人は、以下のような画面が表示されます
ページ上部の「+」マークをクリックして、別個に登録してください。
reCAPTCHAマークがウザい場合
表示されたreCAPTCHAマークがウザい場合、消すことも可能です。
ただし、その代わりにサイト内にどこかにGoogle指定の文章を入れる必要があります。
まず、消す方法。
以下をCSSに入れます。
.grecaptcha-badge { visibility: hidden; }
そして、指定のHTMLコードを追加。
This site is protected by reCAPTCHA and the Google
<a href="https://policies.google.com/privacy">Privacy Policy</a> and
<a href="https://policies.google.com/terms">Terms of Service</a> apply.
これをサイト内のどこかに入れてください。
問い合わせフォームの下か、フッターなどがお薦めです。
HTMLのコードなので、ブロックエディターを使ってる場合は「カスタム HTML」ブロックを使うと良いです。
2024/02/20
コード内のクォーテーションマークが間違ってました(修正済み)。
ご迷惑をおかけしました m(__)m
なかなかエラー表示が消えない場合
reCAPTCHAを導入しても、Contact Form 7のエラー表示がなかなか消えない場合があります。
その場合は、以下のような注意文が表示されるので、
「Contact Form 7の設定を検証する」をクリックし、
さらに「コンタクトフォームを検証する」とボタンが表示されるのでクリック。
これで消えます(^^)v
メールフォームのプラグインは、
他には「MW WP Form」「WPForms」「Snow Monkey Forms」なんかも評判良いですね。
ちなみに当ブログは「WPForms」を使ってますよ(^^)v。
なんだよ、ここまでContact Form 7を持ち上げといて。。
結局、使ってるのはWPFormsなのか。
クライアントの要望に合わせて、サイトごとに使い分けてます(^_^;)
Contact Form 7は使っている人も多いから、いきなりエラーが表示されたら驚くよなあ。