7

私は、ユーザーが「いいね」または「いいね」をクリックして候補者に投票するWebアプリケーションを作成していますが、これらのユーザーはサイトにアカウントを持っていません。

使用するのに最適なテクニックは何ですか?スパムからの保護を強化するためにキャプチャを使用する必要がありますか?

投票数は数百万と予想され、95%の精度が得られる限り、主題はそれほど重要ではありません。ありがとう。

4

4 に答える 4

6

次の2つの方法を組み合わせることができます。

  • 同じマシンからの複数の投票を防ぐためにCookieを追加します
  • IPアドレスをログに記録し、同じアドレスから設定された回数を超えて投票しないようにします(たとえば、同じ時間に5回)。

これにより、複数の人が同じネットワークから投票できるようになりますが、それでも過度の不正行為を防ぐことができます。

また、投票に含める必要のあるトークンを使用して非表示のフォームフィールドを追加したり、投票にAjaxを使用したりすることで、投票ボットの構築を困難にすることもできます。とにかくボットを作成するのは比較的簡単ですが、ほとんどの詐欺師はそれほど賢くはありません。

于 2012-01-22T16:32:06.893 に答える
1

CookieセッションIDは役立ちますが、ブラウザを閉じると両方が失われる可能性があります(ユーザーがCookieを削除できるようにしている場合)。それでも、ある程度の正確さは得られます(たとえば、怠惰な有権者はわざわざブラウザを閉じたり開いたりすることはありません)。

IPアドレスの使用も機能しますが、@ Michael Dillonが言ったように、同じIPアドレス(同じルーター)の人々は投票できません。

于 2012-01-22T16:31:37.707 に答える
1

いくつかのオプションがあり、そのうちのいくつかまたはすべてを使用できます。

IPを記録してからIPと照合することもできますが、これは特定の人が1台のコンピューターだけでなく、場合によっては1台のコンピューターだけを示しているわけではありません。

ユーザーのブラウザにCookieを書き込むこともできますが、ユーザーは別のブラウザやマシンなどを使用できます。

ユーザーのセッション内でセッション変数を作成できますが、非常に高いトラフィックが予想される場合、これは最善のオプションではない可能性があり、同じセッション内での再投票を防ぐだけです。

キャプチャを検討している場合は、ユーザーに電子メールアドレスを提供するように依頼することもできます。そうすれば、電子メールアドレスごとに少なくとも1つの投票が保証されます。ただし、それでも有効なメールアドレスを保証することはできません。

于 2012-01-22T16:31:50.163 に答える
1

投票したいときに電話番号を尋ねて、ワンタイムパスワードを送信し、それを確認として使用できます。他の数字から投票する人もいますが、これが最も正確な方法だと思います。

于 2020-06-09T12:03:46.773 に答える