5

私はColdFusionMXを実行しているため、フォームを送信する前に、アプリケーションに組み込まれているcfimageCaptcha機能を使用することはできません。

しかし、問題はキャプチャなしでボットがフォームを送信することです。

自動送信を防ぐための最善の方法は何ですか?

4

5 に答える 5

9

キャプチャは画像である必要はありません!

次のいずれかの解決策を試してください。

  • ほとんどのボットはCSSを理解していません。2つの送信ボタンを作成します。1つ目はサーバーによって拒否される値を持ち、2つ目はサーバーによって受け入れられる値を持ちます。CSSを使用して最初のものを非表示にします。
  • 簡単な数学の問題に答えるようにユーザーに依頼します。これには、数学の問題を作成し、予想される解決策をどこかに(ユーザーのセッションなど)保存してから、ユーザーが送信した回答を保存された回答と比較する必要があります。保護を強化するために、単純な足し算、引き算、掛け算の質問を作成できます。分割を避けてください。残りは一部のユーザーにとって苦痛です。
  • ボットはフォーム要素の名前を読み取り、テキストラベルを無視する傾向があります。デフォルトでチェックされている「optout」(ニュースレターなど)という名前のチェックボックスを作成してみてください。チェックボックスの横にある、人間の場合はチェックボックスをオフにするようにユーザーに依頼します。逆の手法も機能します(ユーザーにチェックを求めるチェックボックスをオフにします)。

これらのソリューションはすべて、サードパーティのコードやAPI呼び出しなしで実行できます。

そうは言っても、reCAPTCHAは非常に優れており、ほとんどすべての環境に簡単に統合できます。

于 2010-07-12T19:17:38.067 に答える
6

cfformprotectを見てください-CFMX6以降のすべてのエンジンで動作します。

ボットやスパマーを阻止するためのさまざまな方法で、完全にアクセス可能であり、ほとんどのユーザーには見えないことを目的としています。

また、CFMX7と互換性のあるreCaptchaのCFラッパーを確認することもできます。

于 2010-07-12T19:36:53.090 に答える
4

私が別の技術で使用した手法は、画像ボタンを使用することでした。POSTハンドラーは、画像がクリックされた場所のx、y座標を取得します。ボット(投稿リクエストを生成しているだけです)が0,0を通過していることがわかり、それらのリクエストをフロアにドロップすることで、スパム投稿を実際の投稿よりも少なくしました。CFでそれを行う方法がわかりませんが、このテクニックがお役に立てば幸いです。

于 2010-07-12T19:14:37.507 に答える
1

どのソリューションを使用する場合でも、処理する前にサーバー側でデータ検証を行うことをお勧めします。

この投稿が役立つ場合があります:http://www.bennadel.com/blog/405-Fully-Accessible-Spam-Form-Submission-Blocking-Using-ColdFusion-And-X-HTML-Version-III-.htm

于 2010-07-12T20:38:38.443 に答える
0

計算方法はいかがですか?8 + 5 =?

また

ColdFusion.Ajax.submitFormを使用するのはどうですか?

于 2010-07-19T06:39:21.370 に答える