3

公開投票をどのように処理し(誰でも記事を「好きまたは嫌い」にすることができます)、1回だけ投票するように制限しますか?

クッキーを使用する必要がありますか?(彼がCookieを削除して999回投票できるという問題があります)または私は彼のIPをデータベースに保存しますか?

4

5 に答える 5

2

ソリューションには3つの部分があります。

  1. 二重投票を防ぐためにCookieを使用する
  2. すべての投票イベントをデータベースに保存します(IP、ユーザーエージェント、投票/記事ID、投票)
  3. #1から逃げた二重投票を削除するために24時間ごとに実行されるアルゴリズムを実装します。アルゴは#2のデータを使用します

IPだけを使用すると、投票システムから多くの人が除外される可能性があるため、適切ではありません。

于 2011-05-25T01:29:07.890 に答える
1

IPを使用します。

1つのIPの背後から一度だけ投票することで多くの人を引き起こす可能性がありますが、代替手段はバイパスするのは簡単です(Cookieを保存しないでください)。

于 2011-05-25T01:24:37.177 に答える
0

動的IPを使用している場合は、IPの変更とCookieの削除を同時に行う必要があるため、両方を行うと思います。

于 2011-05-25T01:24:05.983 に答える
0

ユーザーが認証する場合、つまりユーザーが自分で投票する場合は、ユーザーがすでに投票したことを示すレコードをデータベースにスローします。匿名の有権者の場合、Cookie、ローカルストレージなどに制限されます。

于 2011-05-25T01:24:17.350 に答える
0

クッキーの代わりにevercookieを使用することもできますが、これはバイパスするのがはるかに困難です(ただし、それでも可能です)。

evercookieは、ブラウザで非常に永続的なCookieを生成するJavaScriptAPIです。その目標は、標準のCookie、Flash Cookie(ローカル共有オブジェクトまたはLSO)などを削除した後でもクライアントを識別することです。

于 2011-05-25T01:28:07.950 に答える