この記事は、Gravity Forms 公式ドキュメントを翻訳、または加筆したものです。

Enhancements to the Spam Honeypot

はじめに

ハニーポットは、CAPTCHAフィールドのようにユーザーに不便をかけないため、しばしば好まれるスパム防止方法です。
これは、フォームに隠しフィールドを追加することで機能します。このフィールドは通常、CSSまたはJavaScriptによって隠されます。
ユーザーはこのフィールドを見ることはできませんが、スパムボットは見ることができるため、ハニーポットフィールドが入力されると、その送信はスパムとして扱われます。

ハニーポット機能は Gravity Forms の新機能ではありませんが、その効果を高めるためにいくつかの改良を加え、またハニーポットがスパム送信をどのように処理するかを指定できるユーザーコントロールも追加しました。

ハニーポットの有効化

この機能を有効にするには、フォームの設定に移動して、この機能を有効にする必要があります。

これまでと同様に、ハニーポット・スパム防御技術は、有効にすると自動的に機能し、ユーザーの操作は不要になります。

ハニーポットの変更点

強化された実装技術

現在のPHPハニーポットは、ページロード時にフォームに隠しフィールドを追加し、そのフィールドに入力された場合、ハニーポットはその入力をスパムと見なします。これはまだ存在し、置き換えられることはありません。

さらに、フォームが送信されるときにPOSTリクエストに追加される追加のjavascript入力を実装しましたので、人間がそれを見ることはありませんが、この追加の入力に期待される値が含まれていない場合、送信は検証に失敗します。

新しい設定

有効にすると、新しい設定が表示され、「If the honeypot flags a submission as spam:(ハニーポットが投稿をスパムと判断した場合)」に取るべき行動を定義することができます。以下の2つのオプションがあります。

  • Do not create an entry(エントリーを作成しない)
  • Create an entry and mark it as spam(エントリーを作成し、それをスパムとしてマークする)

「エントリーを作成しない」を選択した場合、ハニーポットが検知したフォーム送信は保存されず、フォームの確認メッセージは、フォームで設定された確認メッセージではなく、デフォルトの「Thanks for contacting us!We will get in contact you shortly."(ご連絡ありがとうございます。すぐにご連絡いたします。)」 というメッセージが表示され、フォームで設定された確認は行われません。

「エントリーを作成し、それをスパムとしてマークする」を選択した場合、ハニーポットに引っかかったフォーム送信はエントリとして保存されますが、エントリ一覧ページでスパムとしてマークされます。フォームの確認では、デフォルトの「Thanks for contacting us!We will get in contact you shortly."(ご連絡ありがとうございます。すぐにご連絡いたします。)」 というメッセージが表示され、フォームで設定された確認は表示されなくなります。

新しいフィルタ

gform_abort_submission_with_confirmation フィルタは、エントリを保存せずに投稿を中断するかどうかを判断するために使用します。

既知の制限事項/バグ

ハニーポットが有効なフォームで保存と続行の機能を使用しようとすると、フォームを保存するボタンをクリックした後、固有の保存と続行のリンクが送信されるメールアドレスを入力するよう促される代わりに、フォームが実際に送信されて、保存ではなく、確認メッセージが表示されます。

投稿者プロフィール

DoL(CMSラボ所長)DoL(CMSラボ所長)
CMS Laboの所長。
所員はまだない。

DoLは Director of Laboratories の略です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA