可能性のある複製:
CAPTCHAイメージを使用する真の方法はありますか?
誰もがキャプチャを嫌うので、良い選択肢は何ですか?ウェブサイトでのアカウントの自動作成を防止したいのですが、人も心配しています。登録が簡単すぎると、人々が無計画にアカウントを作成するのを妨げるものは何もありませんが、同時に登録プロセスは簡単になるはずです。何をすべきか?
最も簡単な方法は、非表示の入力をフォームに追加することです。フォームの送信を拒否するには、入力が入力されます。
これを行うもう1つの効率的な方法は、トークンCookieを生成し、その値を非表示の入力内に格納し、両方のフォーム送信を比較することです。ほとんどのスパムボットはJSを処理できないので、JSでは機能しません。
スパマーを制御し、高い登録率を維持するための最良の方法は、単純にプロセスを逆にして、ユーザーが既に登録されていれば、登録(またはユーザーがすでに登録されているがログインしていない場合はログイン)の詳細を要求することであると確信しています彼/彼女があなたのウェブサイトに貢献したいと思ったものは何でも提出した。理由は2つあります。
コメントなどを投稿するためだけにユーザーベースを登録するように仕向けていると人々は主張するかもしれませんが、必要に応じて、それはエンドユーザー通知で簡単に制御できます。実装もそれほど難しくありません。メール検証の前に新しいメンバーを登録するのと同じ方法で行う(DBに書き込みますが、登録/ログインが完了するまで非アクティブにマークを付ける)か、入力フィールドを非表示のフォームフィールドの登録プロセスに進めます。コンテンツの多い投稿について話しているのでなければ、2番目のオプションの方が簡単です。
もちろん、ユーザーがスパムメッセージを送信しようとしていることが発見されたら、すぐにユーザーのIPアドレス(および、存在する場合は追跡Cookie)をDBに歓迎されないものとしてフラグを立て、新しい何かを送信しようとするたびにチェックする必要があります。またはさらに良い-それらのIPへのユーザー入力を完全に無効にして、Webサーバーが大量のリクエストでいっぱいにならないようにします。これらのフラグはおそらく永続的であってはならず(サポートするコードの動作に本当に自信がない限り)、自動スパムフィルターの実装に修正が必要かどうかを定期的にチェックする必要があります。
テキストボックス入力のようなチャレンジを追加します。
What is the answer of *3\*8* ?
php-Gdで生成された画像として質問を表示できます(phpを使用している場合)
チェーンとは異なり、長くなるほど、スパマー(ボット)が通過する可能性は低くなります。
nick
、_full name
_、email
、password
、(検証を渡す)およびtextDesc
として簡単な説明を含む登録フォームを作成します。
1b-信じている場合はキャプチャを使用してください...参照 キャプチャに関する私の意見
必須textDesc
に対するスパムチェック。1つ以上のスパム対策ツールを使用します。
偏執狂の場合のみ:疑わしいemail
をすべてグレーリストに入れて(クイックチェック)の人間を待機(postmasterまたはsitemaster呼び出し可能master ;-)次のステップの前の確認。
電子メールアドレスの確認:email
のみ(使用するドメイン名と検証用の登録IDのハッシュを使用)、_full name
_またはnick
の使用を防止するため偽のExpeditorにスパムを送信します(実際のスパム送信者)。
ハッシュとのパスワード検証の後に新しいユーザーを登録します。しばらくしても検証要求が受信されない場合(例:4日-> smtp制限)登録要求を破棄します。