スパムボットにハニーポットトラップを使用して、フォーラムでコメントスパムを防止する方法に本当に興味があります。
ブラウザでCSSとJavaScriptがオフになっている場合はどうなりますか?
ハニーポットトラップの他の欠点はありますか?
すべてのハニーポットトラップに何があると思いますか?
ユーザーエクスペリエンスを妨げない、他のスパム対策の代替案を知っていますか。
スパムボットにハニーポットトラップを使用して、フォーラムでコメントスパムを防止する方法に本当に興味があります。
ブラウザでCSSとJavaScriptがオフになっている場合はどうなりますか?
ハニーポットトラップの他の欠点はありますか?
すべてのハニーポットトラップに何があると思いますか?
ユーザーエクスペリエンスを妨げない、他のスパム対策の代替案を知っていますか。
回答:
ブラウザでCSSとJavaScriptがオフになっている場合はどうなりますか?
適切なハニーポットは、これらのいずれにも依存しません。理想的には、実際の非表示を必要としない、非表示のフォームフィールドを使用します。
ハニーポットトラップの他の欠点はありますか?
あなたがそれを適切に行えば、ユーザーが気づく問題はないはずです。それが機能するために必要なわずかなオーバーヘッドがありますが、それは非常に小さいはずであり、心配する必要もありません。
ユーザーエクスペリエンスを妨げない、他のスパム対策の代替案を知っていますか。
以前の答えから:あなたはいくつかのことをすることができます(そして複数のことをするべきです):
reCAPTCHAのようなCAPATCHAを使用する
ユーザーが5 + 3のような質問に答える必要があるフィールドを使用します。人間は誰でも答えることができますが、ボットはフィールド名に基づいてフィールドに自動入力するため、何をすべきかわかりません。そのため、そのフィールドは正しくないか欠落しています。その場合、送信は拒否されます。
トークンを使用してセッションに入れ、フォームに追加します。トークンがフォームと一緒に送信されていないか、一致しない場合、トークンは自動化され、無視できます。
同じIPアドレスからの繰り返し送信を探します。フォームがあまり多くのリクエストを受け取らないようにする必要があるが、突然ボットに攻撃されている可能性があるため、一時的にIPアドレスをブロックすることを検討する必要があります。
推奨読書:スパムボットはどのように機能しますか?
フォームボットは<input type="hidden">
フィールドを無視すると確信しています。最善の解決策は、共通のデータ型を使用して、通常どおりテキスト入力を使用することです。ウェブサイト、住所、郵便番号、ユーザー名など、現在使用していないものは問題ありません。
「このフィールドが表示される場合は、空白のままにしてください」というメッセージを追加します。メッセージをラップし、CSSをdisplay:noneに設定してdiv要素に入力します。
残念ながら、ほとんどのスパムボットは非常にシンプルで馬鹿げていますが、多くの方が賢く、一般的なトリックを検出できます。フォームの性質によっては、CAPTCHAまたはAkismetを使用する方がよい場合があります。