web-dev-qa-db-ja.com

認証を強制せずに1人のユーザーからの複数の投票を禁止する方法はありますか?

ユーザーがフープ(登録、認証など)を飛び越えることなく、リギング(キャッシュ/ Cookieクリアなど)を禁止する方法を探しています。何か案は?

4
GoodShovel

複数の方法を組み合わせることができます。

  • 前述のIP認証。
  • Cookieまたはセッションに情報を保存します。
  • 非常に短い期間内の「同じ」投票の数を測定します(これらは疑わしいとマークすることができます)

それぞれは、方法を知っている人にとっては簡単に克服できますが、質問は、Dan Petkerが言ったように、投票はどれほど重要ですか?

または、OpenIDやFacebookのような簡単な認証技術を使用することもできます。これにより、ほとんどのユーザーが非常に迅速にプロセスを完了することができます。

4
Dan Barak

1つのオプションは、各投票をユーザーのIPアドレスに関連付けることです。同じIPアドレスから別の投票があった場合は、それを拒否できます。

ただし、このソリューションには2つの大きな欠点があります。 1つ目は、最近の多くのホームネットワーク設定では、コンピューターとIPアドレスの1対1のマッピングが存在しないことです。たとえば、3台のコンピューターがすべて1つのルーター/モデムに接続されている場合、それらはすべて同じIPを共有する可能性が高いため、3台すべてを許可する必要がある場合でも、3台のコンピューターからの投票は1つだけ許可されます。

他の欠点は、この制限を完全に回避するために Tor または別の匿名化ソフトウェアを使用している人だけが必要なことです。

それはすべて、この投票プロセスをどれだけ安全にしておく必要があるか、また、攻撃者が問題を起こすのにどれだけ困難にしたいかにかかっていると思います。投票プロセスのセキュリティと整合性が最優先事項である場合は、不正が行われていないことを確認するために、なんらかの登録/認証を要求することを検討する必要があります。

編集:別のアイデア...

私はこの問題について少し異なる角度から考えていましたが、別の考えがありました。あなたの質問では、ユーザーがフープを飛び越えたくないと述べており、登録/認証は「フープ」と見なされることを示唆しています。登録がフープでなかった場合はどうなりますか?登録プロセスを非常にシンプルにして、ユーザーが投票を控える理由とは思わないようにすることもできます。

たとえば、私は今日ui.stackexchangeについてしか知りませんでした。私は飛び込んで質問/賛成投票などに答えたいと思っていました。直ちに。しかし、そのためには登録が必要でした。ただし、stackexchangeはアカウントを作成する方法としてOpenIDを使用します。つまり、2回のクリックでここに登録され、準備が整いました。

これはあなたのサイトでできることですか?テクノロジーを直接実装していなければ、OpenIDやFacebook Connectなどはすべて、ユーザーに長い登録フォームへの入力を強制することなく、サイトに認証を追加する迅速で簡単な方法を提供しているようです-両方の長所!

3
Dan

IPアドレス、ユーザーエージェント、フラッシュバージョンなど、いくつかの異なる側面を組み合わせます。結果として得られるIDが100%一意であるとは限りませんが、単なるIPよりも目標にかなり近くなります。

2
Virtuosi Media

あなたが尋ねる必要がある質問は:

ユーザーが複数回投票した場合、それはどれほど深刻な問題ですか?

たとえば、お金、物理的な賞品など、実際に問題が発生している場合は、投票を仕掛ける誘惑が高まります。これらのケースでは、おそらくユーザー登録を主張する必要があります(ただし、Dan Petkerがここで最も苦痛のない方法である可能性があると示唆しているように、OpenID/Facebook Connectルートを使用する)。

しかし、それが「唯一の楽しみ」である場合、ほとんどの人が甘やかさないものを止めようとすると、多くの時間(およびお金)を費やしてしまう可能性があります。費やす労力は、投票者の詐欺の費用に比例するはずです。 。

とはいえ、一部の人々が「ゲーム」投票システムに参加して、より多くのポイントを獲得するので、とにかく完全な登録ルートに行くことができるのは驚くべきことです。

2
ChrisF

EFFが Panopticlickプロジェクト に使用している手法は、ここで非常に関連性がある可能性があります。

「ウェブサイトにアクセスすると、そのサイトがコンピューターの構成に関する多くの情報にアクセスできるようになります。これらの情報を組み合わせると、一種のフィンガープリント(ユーザーとコンピューターを識別するために使用できる署名)が作成される可能性があります。」.

この実験の統計結果は入手可能ですが、技術情報は短い論文に限定されています。どちらもホームページからリンクされています。それにもかかわらず、それはあなたの問題のほとんどを解決する技術であるブラウザーのフィンガープリントについての良いインスピレーションを提供します。

0

CookieまたはIPアドレスを使用して、彼らが複数回投票しないようにすることができます。

0
abrudtkuhl