6

私が取り組んでいる Web サイトの登録フォームに Captcha (または Recaptcha) の代わりを使用することを検討しています。

Captcha は UX に悪影響を与えると思います。非表示フィールドの使用を検討していましたが、どうやらまったく効果がないようです (参照: http://radio.javaranch.com/davo/2008/10/15/1224063498569.html )

その記事へのコメントは次のように述べています。

私の仕事の一部として CAPTCHA クラッカーを作成する者として (いいえ、スパムのためではありません)、隠しフィールドが私をつまずかせることは決してないことを保証できます。別の投稿者が述べたように、私は有線トラフィックをチェックし、フォームの HTML に何が起こるかにはあまり注意を払いません。

このことから、スパムボットはフォームを要求して入力するのではなく、サーバーに対して直接 POST 要求を行うと考えるようになりました。

その場合、非表示の読み取り専用フィールドを作成し、SESSION に格納されたハッシュを事前入力するとどうなるでしょうか。ユーザーがフォームを送信すると、値を比較できます。これはスパムボットを遠ざける方法として機能しますか?それとも私が何かを監視しているのでしょうか?

フォームが要求されない場合、もちろん、セッションに保存されているハッシュが見つからないため、要求を無視できます。

4

4 に答える 4

6

サーバー側のセッション変数に関連付けられた課題を持つ別のフィールドを追加することは、良いアプローチです。つまり、フォームを読み込んで解析し、入力して、別のリクエストを作成する (必要な Cookie を送信する) 必要があります。

JavaScript を追加して、特定の課題を変更し、特定の方法で変更することも検討できます。攻撃者は、自動化された方法でコードを複製する前に、コードが何を行っているかを知る必要があります。変換は、単純な操作の場合もあれば、rot13より複雑なxor操作の場合もあります。md5、のようなものsha1は確立されたアルゴリズムであるため、それらは適切な選択ではありません。それはカスタムでなければなりません。

もちろん、攻撃者があなたのサイトを標的にしなければならない場合、スパムの侵入を防ぐためにできることはあまりありません。それは醜い真実です。たとえば、Seleniumを実行し、慎重に組み込まれたすべての JavaScript 保護を回避する可能性があります。

于 2012-05-23T05:56:19.370 に答える
2

残念ながら、あなたはすでにあなたのサイトを特にターゲットにしているスパマーを持っていると思います。ログインと登録を手動で実装した場合、フォームに合わせて特別に調整しなくても、スパムボットがサインアップできるロジックを備えている可能性はほとんどありません。

他の解決策は優れており、それらは役に立ちますが、適度に決定されたスパマーでさえも防ぐことはできません。多くのスパムボットはブラウザプラグインとして動作するため、スパムボットがJavaScriptを評価できない、またはそもそもフォームを呼び出さないことを信頼することは、非常に長い間役立つとは考えられません。少なくとも、登録用のCAPTCHA(および、アカウントが手動で承認されるまでは、投稿ごと、またはサイトが行うことは何でも)が必須になる可能性があります。

ユーザーエクスペリエンスに影響を与えたくないことは承知していますが、スパムメッセージとアカウントはCAPTCHAよりもUXにはるかに悪影響を及ぼします。弾丸をかみ、スパマーを遅くするためにできる限りのことをしてください。そうしないと、ユーザーは他の場所を探すことになります。

確かに、CAPTCHAは完全なソリューションではありません。人間よりも正確に(場合によっては)解決できるソフトウェアが存在します。彼らは、豊富な朝食用シリアルのように、この完全な朝食の一部にすぎません-そして、彼らの正しい心の誰もがスパムで一日を始めることはありません。;)

新規ユーザーのモデレートは非常に役立つ可能性があります。

于 2012-05-23T06:25:01.300 に答える
0

ボット次第だと思います。誰かがあなたのサイトをターゲットにした場合、これは非常に簡単に回避できます。

  1. フォームとセッション値が入力されたリクエストページ
  2. フォームに記入して送信します。

私はそれがほとんど保護ではないと言うでしょう。

残念ながら、ボットの現在の状態とその動作についてはあまり詳しくないので、これは、この実装を回避するのがいかに簡単かについての私の意見にすぎません。

于 2012-05-23T05:54:14.793 に答える
0

スパムボットが異なれば、使用方法も異なります。

しかし、最も柔軟なスパム ボットは次のとおりです。

すべてのボットが「form-session-token」入力を見つけてファイルしたままにしておくことができるかどうかはわかりません。すべてのボットが javascript を使用できるとは限りません (保護する別の方法 - 必要なフィールド onsubmit を js で追加します)。しかし、ボットは大きく異なります。

于 2012-05-23T05:58:10.767 に答える