2012-02-29 15 views
6

私はスパイミングを防ぐために、クライアントの連絡フォームの大半にハニーポットフィールドを実装しました。しかし、私は、IEのフォームの自動入力オプションがハニーポットフィールドに埋め込まれていることに気付き、アンチスパムロジックを起動します。どうすればこれを防ぐことができますか?IEフォームの自動入力がハニーポットフィールドに入力されないようにするにはどうすればよいですか?

私は、フォームフィールドに別の名前を与えて試してみた - それは現在emailConfirmationと呼ばれるが、私はconf_emliameを試してみた、そしてそれはまだ自動充填です。私はまた、ハニーポットフィールドをフォームの一番下に移動しようとしました - 既存のemail入力の近くにはどこもありません。

+0

フィールドは見えませんか?はいの場合、私はIEがなぜそれを自動的に満たしているのかわかりません。いいえ、それについて "ハニーポット"は何ですか? –

+0

はい、ハニーポットフィールドとは何ですか?ボットが知らない隠しフィールドは隠されているので、それを埋め込みますが、IE * ISでは、隠されているSPAN内のフィールド(css: 'display:none')です。 *自動充填。 –

+0

ええ、私はIEがとてもばかばかしいとは信じられませんでした。隠されたフィールドを埋めるためにはどんな意味がありますか? :/ –

答えて

1

ハニーポットフィールドに半ランダムな名前を付けます。実際の名前に乱数をつける。この方法では、同じ名前になることは決して2回ありません。また、IEによって生成されるべきではありません。

cfformprotectをご覧ください。それはいくつかの素晴らしい機能を持っており、フォーム提出を保護するためにかなりのプロジェクトを手伝ってくれました。

+0

これらのフォームで可能な限りColdFusionを使用することから離れようとしています。これらは単にウェブサイトをマーケティングするだけなので、CFの必要性はすぐにクライアントのデータベースにデータを追加することです。 –

5

デビッド・ファーバーの回答に示唆されているように、は、inputタグにautocomplete="off" attributeを追加してみてください。

これは標準のHTML4/XHTML属性ではありませんが、すべての主要なブラウザがそれを理解しています。そしてit is standardized in HTML5

+0

ボットが自動的にフィールドにデータを入力するのを止めますか? –

+0

ボットがフィールドに自動的にデータを入力するのを止めてはいけません。 (具体的には、 'autocomplete'属性を理解して尊重しているブラウザのような、正常に動作するプログラムが自動的にフィールドを埋めるのを止めます。しかし、私はあなたがトラップしたいボットは、具体的なものではなく、そのような指示を尊重し、尊重するものであると仮定します。) –

+0

大変ありがとう、私は試してみます –

0

ここにあなたの目に見えないハニーポットが提出されました。 フォームレベルでautocomplete = "off" htmlタグを入力してください。 それを目に見えないフィールドレベルに置くと、あなたの隠されたフィールドとややインテリジェントなボットがそれを認識するためにこれを使うことができます。 オートコンプリートタグの移植性: http://help.dottoro.com/lhdwgiwh.php ターゲットのIEバージョンで技術的なプローブを行う必要があります(IE 5と6のサポートが必要ですか?)。 あなたの目に見えないフィールド名は、可能な限り一般的な名前として使用してください。例えば。ボットのアルゴリズムはそれを拾い、データで埋めます。

よろしくお願いいたします。

関連する問題