0

jquery と css ベースの星評価システムを作成しました。今では、ユーザーの投票をデータベースに保存する方法を本当に考えることはできません。そして最も重要なのは、1 人のユーザーを 1 票に制限する方法です。

サイトの訪問者数が膨大であるため、各ユーザーの IP をデータベースに保存する余裕はありません。さらに、私のIPアドレス自体も動的であるため、うまく機能するとは思いません。インターネットを切断して再接続するたびに、IP が変更され、再度投票できるようになります。だから私はこれがうまくいくとは思わない。

これは、投票をデータベースに保存することについて私が考えたことです。ページが受け取った投票数を保存するだけでなく、ページの合計評価を保存することもできません。

評価ポイントを投票数で分けるのは間違っています。平均評価を与えてくれます。右?

しかし、1 人のユーザーを 1 票に制限する方法は考えられません。助けてください。

4

2 に答える 2

5

Web 上で 1 人 1 票を厳密に強制する実際的な方法はないようです。

コンピュータ ネットワークでは、人の代理を使用することがよくあります。それらのいくつかは

  • ネットワークまたはアプリケーションのログイン、
  • 電子メールアドレス、
  • IPアドレス、
  • クッキー、

等々。しかし、これらはいずれも1人1票となると問題があります。

  • Webログインの場合、通常、1 人が複数のアカウントを作成できます。(特に無料の場合。)
  • 電子メール アカウントは無料で、多くの (ほとんど?) 人が複数の電子メール アカウントを持っています。
  • IP アドレスは機能する可能性がありますが、共有されていないコンピューターを使用するイントラネット (コンピューターごとに 1 つの IP アドレスで実装) (コンピューターごとに 1 人という会社のポリシー) でのみ機能します。
  • Cookie には Web ログインと同じ問題があります。(そして、それらはユーザーが削除できます。)

1票が本当に価値のあるものなら、わざわざ2回投票する人もいるでしょう。しかし、ほとんどの投票はあまり価値がありません。

于 2012-10-10T02:14:25.090 に答える
0

インデックスを使用してデータベースを構造化することを検討してください。ユーザー/お気に入りの組み合わせごとに 1 つの行のみを挿入できるユーザーお気に入りシステムを作成しました。たとえば、ユーザーがお気に入りを選択すると、データベースに格納される値はユーザー ID とお気に入り ID になります。ユーザーが再度選択しようとしても、完全に重複しているため、データベースは行を挿入しません。

于 2012-10-10T01:54:56.077 に答える