2011-06-20 13 views
0

私は、ユーザが製品を購入できる.net c#Webアプリケーションを持っています。ウェブアプリケーションで支払い処理を自動化するボットの防止

私のサイトには、入力フィールドで、支払いページを持っているなど

私はクレジットカードの承認を検証するために支払いの提出を自動化するボットを経て、最近いくつかの攻撃がありました。

私はボットがこれを行うことができないように私のページを変更する必要があります。だから私はこれを行うためのアドバイスを見ている?私はフィールド名を変更して、ハッシュを介してページロードするたびに異なるようにしました。その他のヒント?

答えて

0

ユーザーエクスペリエンスを可能な限り良好に保つために、人間が関与しない解決策を見つけようとしていることがわかります。

悪意のある人があなたのサイトを使ってクレジットカードの有効性をチェックしているので、おそらくコメントスパムボットのような自動化されたプロセスの一般的なブロックシナリオとは対照的に、あなたのウェブサイトを悪用している人たちにとって貴重な「サービス」がどれほど価値があるかによって、人間の介入を必要とせずにそれらをロックすることは、あなたが変更したものを理解するまで働くだけです。

フィールド名を交互に変えても、サイトの外観順にフィールドを入力することはできません。

javascriptを持っているようなソリューションは、隠れたフォームフィールドを埋め込むのは、ボットがjavascriptを話さない限り、有効です。

captchaの代替案を検索するときに見つかったすべての手法を使用し、それぞれの要求に対してランダムに組み合わせて使用​​することをお勧めします。次に、別のサイトのセキュリティが確保されないようにして、

すべてが役に立たないのであれば、人間とのやりとりを含む解決策を引き続き使用できます。

0

Ajaxコントロールキットには、使用できる「NoBot」コントロールがあります。

http://www.asp.net/ajax/ajaxcontroltoolkit/samples/NoBot/NoBot.aspx

+0

私はユーザーのやりとりなしにこのようなアプローチを好みます。 – amateur

+0

このルートに進む場合は、慎重にドキュメントを読んでください。 – asawyer

+0

このコントロールを見ると、これはサーバー側のポストバックに基づいています。 jquery経由でwcfサービスを呼び出していますが、どうすればこのコントロールをここに組み込むことができますか? – amateur

1

CAPTCHAこれを停止するのに役立ちます。ページが通過する前に、ユーザーが検証チェックを完了する必要があります。 CAPTCHAがASP.Netでどのように実装されるかについては、sample implementationがあります。

1

"captcha"はボット提出フォームを防止する標準的な方法です。 Recaptchaは無料で、うまくいき、実際にその本を使って本をスキャンする手助けをしています。

0

articleをご覧になり、「ボットを止める技術的対策」のセクションを読んでください。ボットを止めるための対策がいくつかあります。

1

私は以下のアプローチを一度試してみました。

つまり、不可視のフィールドを作成し、ロボットがそれを容易に理解できるように名前をつけ、サーバー側でこのフィールドの値をチェックすることです。それがポピュレートされている場合は、確かにロボットだったので、この要求を無視しても問題ありません。たとえば :

  1. があなたの姓のフィールドの名前を変更するには、たとえば、EmanTsrif。

  2. 他のフィールドを追加します。<入力ID = "FirstName" class = "trap_for_robots" >。

  3. 定義するcss class trap_for_robots:{display:none}(スタンドアロンの.cssファイルではお勧め - style = "display:none"は使用しないでください)!

  4. あなたのコードビハインドで(FirstName.Text!= ""){(何もしないでください、何かを記録してください)}をチェックしてください。

関連する問題