2013-03-27 9 views
8

FacebookやTwitterなどのウェブサイトは登録時にボットからどのように保護されていますか?サインアップフォームには何もキャプチャがありません。Facebookのようなウェブサイトはどのようにcaptchaなしでボットから保護されています

私はプロジェクトのためにサインアップフォームを作成したい、と私は登録とのCaptchaしばしば醜い中のボットをしたくない...

編集:私は知っているので 私の質問は、登録時に実際にありますFacebookは初めて登録したCaptchasを使用します。

+2

彼ら、あなたは確かにするものだけで一つの質問は、ボットの登録はありませんか? –

+0

おそらくフェイスブックにボット登録がありますが、DOSから保護されているようですので、ボットに対する防御があると想像してください。 –

+0

また、あなたはcaptchaを使わないと思いますか?確かに、もしあなたが今登録するなら、あなたはそのプロセスを経験するでしょう。しかし、登録したアカウントで何かを実際にやろうとしましたか?あなたがボットのような活動を始めるならば、彼らはキャプチャだけを使うかもしれません。 –

答えて

9

Facebookはあなたがのようなものが表示されます形成し、隠されたスパムの保護のいくつかの並べ替えを使用しています。

ボットがキャプチャなしで登録を完了するのをより困難にする方法はほとんどありません。 は、マウスクリックイベントの発信者で、フォームを記入するタイミングが好きです。 フォーム内のランダムなセッションベースの値(最初にフォームをダウンロードしないで直接送信することも可能)

また、「電子メール」のような共通の名前を持つ隠れたフォーム要素を使用する人もいますが、すべてのフォームフィールドを記入し、隠し要素に値がある場合はブロックすることができます

twitterとfbはスパマーをブロックするテクニックを開発するのに多くの時間を費やしています。彼らがスパマーと戦うために生産的に生産性を上げる。

しかし、ほとんどの保護はサーバー上ではなくクライアント内で行われるため、すべてのクライアント側のjavascriptsをfbやtwitterからダウンロードして調べることができます。

サーバはランダムなセッション変数を発行することができます。要求の有効なヘッダ、全体の時間などを確認します。

一部のサイトでは、ユーザーがフォームに記入している間にサーバーとクライアント間のajax交換も使用されています。ほとんどの場合、ボット開発者がsimular fake exchangeのデータを作成するのが難しくなります。とにかく

、生憎まともな保護を行うには簡単な解決策は、espesiallyキャプチャや質問も

のいくつかの種類なし、ではありません ため、あなたが動的に大きな作成できるイメージマップの代わりに、ボタン、 を使用することができ、ボタンを提出PHPのGDIのようなものを使用してランダムな位置に描かれたボトムボット画像を送信し、cssを使用してその画像の一部のみをアクチュアルボタンで表示し、サーバ側でマウスがクリックされた場所のXとY位置をチェックします。ボットが壊れるのは難しいです。 実際のブラウザを使用してキーボードとマウスをエミュレートしない限りとにかく、私はunfortunatellyどこに簡単な解決策はないと述べたように。

1

私はFacebookやTwitterでどのようにしているのか分かりませんが、単純なものを作成してサイトの美しさを妨げないようにするには、一部のWebサイトでは"2 + 3は何ですか?"のような簡単な数学の問題。これは最も安全な方法ではありませんが、単なる考えです。

+0

Facebookにはcaptchaはありません。同じことをしたいと思います。 –

2

一つの方法は、ユーザの電子メールアドレスや携帯電話に確認を送信し、検証を得ることであろう(その場合ので、あなたができるようにしなければならないだけで1つの電子メールアドレスまたはアカウントあたりの携帯電話)

別のオプション"Negative CAPTCHA"または "Honeypot Captcha"を使用することです

+0

電子メールは電子メールの正当性を確認しますが、ボット登録から保護しません(私は新しいFacebookアカウントを作成しました。電子メールなしで電子メールを使用してアカウントを作成して開くことができます) –

1

レイヤ4〜7のファイアウォールルールを作成するために、ハードウェアソリューションも展開できます。特定のルールを作成して、Webをクロールするボットのよく知られたエージェントを探すことができます。しかし、新しく作成したボットを停止するには、ボットにどのエージェントを使用しているかを知る必要があります。 Javascriptをあなたがボットだと思いますとき

class="hidden_elem"><div class="fsl fwb">Security Check</div>This is a standard security test that we use to prevent spammers from creating fake accounts and spamming users. 

のでキャプチャが目に見えるようになる:あなたは、サインアップのソースを表示する場合

0

CAPTCHAを使用したくないので、目に見えない保護であるKeypic-keypic.comを使用できます.CAPTCHAは必要ありません。これは、あらゆるウェブフォームのための効率的なアンチスパム手法です。サイトユーザーは、ユーザーエクスペリエンスの品質を向上させ、ユーザーの関与を高めるため、サイトに適したテストに合格しません。このソリューションは、ユーザーの行動を分析してデータベースをチェックし、正当なユーザーまたはロボットからの要求であれば結論を出すエキスパートシステムの一種です。 BTW、TwitterとFacebookはパスワード認証にCAPTCHAを使用していますが、これはそのような保護の効率の面で非常に紛らわしい方法です。

+0

こんにちは、 ...それは素晴らしい方法かもしれませんが、それはFacebookやTwitterのようなサイトが使うものです。 – iandotkelly

+0

Keypicは2016年12月現在で廃止されています – Enkode

-1

私はニンテンドーのサイトに登録しているボットの数が多かったので、サインアップページにマリオの画像を1つ置いていました(画像データの中に「マリオ」と書かれていないことを確認してください)これは一言で答える」それ以来、一人のボットサインアップはありませんでした。これが実際には良い解決策であるかどうかは分かりませんが、スマートなボットの仕組みはわかりません。私はそれが働いて驚いた。

理論的には、いくつかの正当なユーザーを締め出すかもしれないが、マリオが誰であるかを知らない任天堂のサイトの多くは、正当なユーザーを想像するのは難しいです...

+0

問題は次のとおりです。Facebookのようなウェブサイトがどのようなキャプチャなしでボットから保護されているか –

関連する問題