私は、ユーザーが「いいね」または「いいね」をクリックして候補者に投票するWebアプリケーションを作成していますが、これらのユーザーはサイトにアカウントを持っていません。
使用するのに最適なテクニックは何ですか?スパムからの保護を強化するためにキャプチャを使用する必要がありますか?
投票数は数百万と予想され、95%の精度が得られる限り、主題はそれほど重要ではありません。ありがとう。
私は、ユーザーが「いいね」または「いいね」をクリックして候補者に投票するWebアプリケーションを作成していますが、これらのユーザーはサイトにアカウントを持っていません。
使用するのに最適なテクニックは何ですか?スパムからの保護を強化するためにキャプチャを使用する必要がありますか?
投票数は数百万と予想され、95%の精度が得られる限り、主題はそれほど重要ではありません。ありがとう。
次の2つの方法を組み合わせることができます。
これにより、複数の人が同じネットワークから投票できるようになりますが、それでも過度の不正行為を防ぐことができます。
また、投票に含める必要のあるトークンを使用して非表示のフォームフィールドを追加したり、投票にAjaxを使用したりすることで、投票ボットの構築を困難にすることもできます。とにかくボットを作成するのは比較的簡単ですが、ほとんどの詐欺師はそれほど賢くはありません。
CookieとセッションIDは役立ちますが、ブラウザを閉じると両方が失われる可能性があります(ユーザーがCookieを削除できるようにしている場合)。それでも、ある程度の正確さは得られます(たとえば、怠惰な有権者はわざわざブラウザを閉じたり開いたりすることはありません)。
IPアドレスの使用も機能しますが、@ Michael Dillonが言ったように、同じIPアドレス(同じルーター)の人々は投票できません。
いくつかのオプションがあり、そのうちのいくつかまたはすべてを使用できます。
IPを記録してからIPと照合することもできますが、これは特定の人が1台のコンピューターだけでなく、場合によっては1台のコンピューターだけを示しているわけではありません。
ユーザーのブラウザにCookieを書き込むこともできますが、ユーザーは別のブラウザやマシンなどを使用できます。
ユーザーのセッション内でセッション変数を作成できますが、非常に高いトラフィックが予想される場合、これは最善のオプションではない可能性があり、同じセッション内での再投票を防ぐだけです。
キャプチャを検討している場合は、ユーザーに電子メールアドレスを提供するように依頼することもできます。そうすれば、電子メールアドレスごとに少なくとも1つの投票が保証されます。ただし、それでも有効なメールアドレスを保証することはできません。
投票したいときに電話番号を尋ねて、ワンタイムパスワードを送信し、それを確認として使用できます。他の数字から投票する人もいますが、これが最も正確な方法だと思います。