0

フォームをスパム ボットから保護する簡単な方法を考えました。それで十分だと思うかどうか、皆さんに確認したいと思います。ただの問い合わせフォームなので、極端なセキュリティは必要ありません。電子メール アドレスがスパムに感染しないようにするためだけです。

次のようにフォームを作成するとします。

<div id="unlock">Click 3 times to unlock the form</div>

<form action="url">
<input type="email" />
<textarea></textarea>
</form>

そして、単純な javascript/jQuery を使用して、#unlock が 3 回クリックされたかどうかを確認します。その場合は、次のように name 属性をフォーム要素に追加します。

$('input[type=email]').attr('name', 'senderEmail');

私が行っている仮定は、フォーム要素の名前がわからないため、ボットがフォームを正しく送信できないということです。もちろん、フォームの値がサーバー上で正しいかどうかを確認します。正しくない場合、フォームは送信されません。この仮定は正しいですか?同じことを行うことは可能だと思いますが、代わりに action 属性を form タグに追加しますか?! そうすれば、ボットは受信 URL を知らなくてよいのでは?!

私が言ったように、私は非常に重要なものを保護しているわけではありませんが、「一般的な」スパムボットを止めたいだけです.

4

4 に答える 4

1

スパム ボットを防止する別の解決策があります。

  • キャプチャ
  • ハニーポット (表示されないフィールド (display:none but not type=hidden) を追加し、このフィールドが入力されている場合、サーバー側でそれがボットであることがわかります)
  • リクエストからレスポンスまでの時間を確認します (人間がページを読んだり、フォームに入力したりします)。
  • JavaScriptを介してフォームを作成して送信します(あなたがやっているように)
于 2013-05-10T13:47:54.157 に答える
1

私は前にそれとまったく同じことを試しました。受信トレイがスパムになるのを防げなかったことに驚きました (約 2 か月しか安全ではありませんでした)。

あなたのサイトが十分な注目を集めたら、どこかの子供が数ドルを支払って、あなたが考案したセキュリティを無効にする簡単なスクリプトを作成することになると思います.

ユーザーがそのフォームを使用する前に、OpenId を使用して人を認証することをお勧めします。100% 安全ではないことはわかっていますが、そのようなボット検出方法よりも安全であり、キャプチャよりも煩わしくありません。そして最近では、誰もが少なくともいくつかの主要な OpenId ID プロバイダーにアカウントを持っています。

于 2013-05-10T13:40:24.573 に答える