5

人間のみの Web サイトへの登録を制限するための解決策について詳しく知りたいです。

キャプチャは適切な解決策のように見えるかもしれませんが、実際には思ったほど良くありません。そして、目の見えない人や耳の聞こえない人などにとって解決策が選択肢にない場合でも、問題ではありません.

4

5 に答える 5

4

私の最新の Web アプリは、これをユーザーにとって非常に簡単にし、私にとっては安全にするプロセスを使用しています。

  1. ユーザーはログイン ページに移動し、電子メール アドレスを入力して、[サインアップしています] チェックボックスをクリックします。
  2. ユーザーが「登録」をクリックすると、電子メール アドレスが一時 SQL テーブル ( と呼ばれるsignups) に挿入され、確認リンクを含む電子メールが電子メール アドレスに送信されます。
  3. ユーザーは、「パスワードの作成」ページに移動する確認リンクをクリックします。
  4. ユーザーがパスワードを作成すると、電子メール アドレスとパスワードがテーブルに挿入され、usersテーブル内のエントリsignupsが削除されます。

Web アプリのサインアップの例

これにより、簡単で信頼性が高くなります。

このsignupsテーブルには、ランダム SHA1 ハッシュ (検証リンク用)、サインアップ後 12 時間に設定されたタイムスタンプ、および IP アドレスも含まれています。

signups期限切れのタイムスタンプを持つテーブル内のすべてのエントリは、1 日の特定の時間帯に削除されます。


アップデート

この回答を書いて以来、サインアップフォームをロボットから保護することは終わりのない戦いであることがわかりました.

時が経つにつれて、セキュリティ対策を回避するための新しい技術と方法が開発されています。開発チームができる最善のことは、サインアップの品質を定期的にチェックし、サインアップ フォームをより安全で直感的に使用できるようにする方法を考えることです。

ええ、それにはかなりの作業とリソースが必要ですが、サインアップフォームとサインアップの品質に自信を持つことは、費用に見合うだけの価値があります.

于 2012-09-18T18:36:31.750 に答える
2

電子メール アドレスを確認し、電子メールを確認したユーザーのみを許可することが、最も簡単で迅速な解決策です。

于 2012-12-10T13:59:51.007 に答える
2

サイトがどの程度ターゲットを絞っているかにもよりますが、を使用するhoneypotと非常に効果的です。

つまり、フォームに一般的な名前のフィールドがあります。たとえば、email. 実際のemailフィールドには、のような他のランダムな名前がありlarpます。

CSS を使用してフィールドを非email表示にし、ユーザーがそのフィールドを表示した場合に備えて、そのフィールドを空白のままにしておくように指示するテキスト ラベルを含めます。

フィールドが入力された状態で登録が入った場合はemail、成功メッセージを送り返し、ドロップします。

于 2012-09-18T18:34:42.207 に答える
0

ユーザーに音声ファイルを聞いてもらい、その単語をテキストボックスに入力させることができます。それは私がphpBB3に対してやりたかったことですが、残念ながら、検証用の質問にHTMLマークアップを許可していません。または、多層防御を行い、CAPTCHAをプロセスの一部にすることもできます。

于 2012-09-18T18:24:54.577 に答える
0

キャプチャ (画像に表示された単語を入力する) の代わりに、質問に答える必要がある Web サイトを見てきました。通常は基本的な数学です。私はこれらを実装していませんが、いくつかの場所で見たことがあるので、さまざまな CMS などのプラグインであるに違いありません。

肝心なのは、どんなシステムも最終的には回避されるということです。ボットの登録を最小限に抑えることはできますが、経験から言えるのは、他の人間 (ほぼすべてのテストに合格できる) にお金を払って Web サイトにサインアップする人がいるということです。それが受け入れられると思う人は常にいます。

そのため、どのようなソリューションを使用する場合でも、そのソリューションを定期的に再評価する必要があります。また、人間に新しい登録を確認してもらい (1 日に 1 回程度でしょうか?)、実際に取得する少数のボットを除外する必要があります。終えた。

于 2012-09-18T18:31:05.900 に答える