7

私が本当に望んでいるのは、1人あたり1票を制限することですが、次に考えられるのは、悪意のあるユーザーやハッカーが私の会社の投票システムをひどく和らげるのを防ぐために、IPアドレスあたり1票を制限することです。私はデータベースを使用してIPアドレスを追跡することを考えていました。

更新:最初に明確になっていないことについて申し訳ありません。IPアドレスごとに1票を制限することが、1人あたり1票を制限するための優れた戦略であるかどうかを知りたいと思いました。基本的に、1つの一意のIPアドレスが1人にほぼ等しいかどうかを知りたいと思いました。プロキシとルーターがIPアドレスを再利用することはすでに言及されているため、残念ながら、多くの人が同じIPアドレスを使用する可能性があります。

ありがとう。私の場合、IPアドレスごとに1票を制限しないのが最善だと思います。

4

7 に答える 7

21

IPアプローチを採用しないことをお勧めします。大規模なISPの一部がIPを頻繁に再利用する前にこれを調べたところ(AOL ...)、IPアドレスを使用する場合は、データベースを使用してそれらを追跡します。それを行うための迅速な方法は、それを一意のキーにし、「すでに投票された」として例外をキャッチすることです。

追加する良いことの1つは、投票がカウントされなかったことをユーザーに表示しないこと、結果を表示すること、または投票してくれたことに感謝することです。その特定のエラーを与えないことによって、それはより難しく、時には問題のあるユーザーによってさえ気づかれません。

于 2009-08-07T20:00:08.430 に答える
12

IPアドレスを使用する場合、ファイアウォールまたはプロキシサーバーを介してすべてのアウトバウンドインターネットトラフィックをルーティングするため、ほとんどの企業は1票のみに制限されます。これを数年前に行ったところ、すべてのAOLトラフィックが5つのIPアドレスからのみ発生していることがわかりました。

于 2009-08-07T19:59:13.173 に答える
4

一般的に、はい、投票用のデータベーステーブルを用意し、choice + ipアドレスを格納するだけです。次に、挿入時にDBクエリを実行して、指定されたIPでエントリが既に存在するかどうかを確認します。

理想的な解決策は、投票をユーザーアカウントに結び付け、それをより具体的なプレゼンス(クレジットカード、携帯電話、またはその他の簡単に乗算できないIDソースなど)にリンクさせることです。

あなたが尋ねている質問は正確には何ですか?

于 2009-08-07T19:57:24.690 に答える
2

私がいつも行ってきた方法は、ユーザーエージェントとIPアドレスをMD5ハッシュに連結し(場合によっては、同じIPのユーザーが異なるブラウザーを使用している限り、投票できるようになります)、それを「」として保存することです。データベースに投票し、それに一意のキーを追加します。IPXアレスが言ったように、そこから重複キーの例外をキャッチすることができ、あなたはうまくいくはずです。

人々が1日に1回投票できるようにしたい場合は、その「指紋」にYmdを追加するか、1時間あたりx個または1日あたりx個の量を許可する他のバリエーションを追加することもできます。

于 2009-08-27T16:37:45.997 に答える
1

はい、データベースを使用してください。クッキーに頼らないでください。クッキーは簡単に削除できます。
IMOは、これまでのところ、IPベースの投票制限が最良のオプションです。

于 2009-08-07T19:56:56.517 に答える
0

上記で述べたように、IPアドレスには制限がありますが、ブラウザには、いたずら好きな有権者を弱体化させる可能性のある他の多くの特性があります。たとえば、BrowserIDは、ほぼすべてのブラウザで異なります。BrowserIDとIPアドレスの組み合わせを使用して、一意のIDを作成できます。

于 2009-08-12T20:01:30.860 に答える
0

不正行為を回避するためのもう1つの方法は、フォームに1回限りの使用ハッシュを提供し、投票をカウントする前にそれが有効かどうかを確認することです。

例えば:

投票フォームを作成するときは、ランダムハッシュを作成してデータベースに保存しform、フィールドとしてに配置しhiddenます。 (ハッシュデータベースに日付フィールドを追加して、未使用のハッシュをクリーンアップできるようにすることができます)

次に、投票POSTリクエストを受け取ったら、提供されたハッシュがデータベースにあるかどうかを確認し、データベースから削除して、再度使用できないようにすることができます。


短所:
投票ページのトラフィックが多い場合、IOが高いデータベースをロードする可能性があります。
ページをplanhtmlとしてキャッシュできないため、Webアプリにより多くのストレスがかかります。

于 2013-03-05T05:12:24.260 に答える