5

環境

誰でも1回投票できるアンケートサイトを開発中です。明らかに、調査の関連性を維持するには、複数の登録を防止する必要があります。すべてのユーザーに、Google、Facebook、または Twitter アカウントでログインするよう強制しています。ただし、それぞれにアカウントがある場合は 3 回認証するか、同じプラットフォームの複数のアカウントで認証できます (私は Google に 3 つのアカウントを持っています)。そのため、IP アドレスを保存することを考えましたが、それでもプロキシを使用できます。PHP の get_browser()を使用して HTTP ユーザー エージェントを保持することはできますが、ブラウザーを変更することはできます。正規表現を使用して OS を抽出できます。OS を変更するのは、ブラウザーよりも簡単ではありません。また、たとえばGoogle Map APIを使用した地理位置情報もあります。

質問

  • 複数登録を防ぐには?どんな検査ができるの?
  • これらのテストを埋め込む方法は? どのような順序で実行しますか?
  • この種のソリューションを既に展開していますか?
4

8 に答える 8

4

絶対に確実な唯一の方法は、シリアル番号 (社会保障番号) やハードウェア識別子 (RSA キー) など、個人を一意に識別するものを使用することです。次善の策は、通常、姓と名を識別するクレジット カードを要求することです。他のすべての試行は簡単に破られる可能性があります (つまり、電話番号、位置情報などを使用した 2 フェーズ認証)。ブラウザから送信されるヘッダーは簡単に偽装できます (位置情報、IP アドレス、ユーザー エージェントはすべてヘッダーです)。おっしゃったように、複数の Google/Twitter アカウントを作成するのは非常に簡単です。

于 2011-11-24T17:51:07.233 に答える
3

コード付きのテキストメッセージを携帯電話に送信することで、ユーザーを確認できます。これにより、投票数がユーザーが所有する携帯電話番号の数に制限されます。

于 2011-11-24T18:06:43.083 に答える
1

物理的な人ごとに1つの電子メールアドレスのみを付与するドメイン(または.govなどのTLD)からの有効な電子メールアドレスを要求するのはどうですか?

ここで提案するだけでは、文字通り誰にでも投票を許可しなければならない場合は実行できない可能性があります。

于 2011-11-24T18:03:43.827 に答える
1

まず、ユーザーを一意に識別する必要があります。あなたが言及したいくつかのことは次のとおりです。

  1. メールアドレス
  2. IPアドレス
  3. HTTPユーザーエージェント

上記のすべては、なりすましが簡単です。

  1. 複数のメールアカウントを作成できます
  2. プロキシ。誰かがプロキシの背後にいるかどうかを調べることを目的としていましたが、利用可能なエリートプロキシを持つユーザーを見つけることができません。もう1つの問題は、単一のIPを共有する複数のユーザーがいる可能性があることです。
  3. ユーザーエージェント情報は変更できます

ユーザーを一意に識別するものがSSNです。問題は、ネット上に複数のジェネレーターがあるため、簡単に偽造される可能性があることです。

問題は、本人が本人であるかどうかを確認するのが非常に難しいことです。解決策は、ユーザーが複数の票を投じることをできるだけ難しくすることです(単一の票であることが重要でない場合)。

これは、たとえばSMSによる検証を使用して解決できます。ユーザーが複数の電話番号を使用するのは難しい/不便です。

于 2011-11-24T18:14:02.247 に答える
1

まず、Webサイトに登録できる電子メールを1つだけ許可します。

次に、各IPからの投票を1回許可することを検討する必要があります。ルーターの背後にいる潜在的な有権者を明らかにブロックするため、これは実行可能ではない可能性があります。

各有権者のユーザーエージェントをチェックして、不一致を見つけようとすることができます。

ユーザーサーバー側を完全に検証できない場合もありますが、基本的にユーザーに固有のものはすべてチェックする必要があります。

すでに提案したように、電話番号を使用することもスパム投票者を減らす別の方法です。

于 2011-11-24T18:15:33.810 に答える
1

あなたが言及したこれらのテストは、一部のユーザーが複数回登録するのを防ぐのに役立ちますが、決心したユーザーは、本当に必要な場合はこれらの手段を回避できます.

彼らは、Google、FB、または Twitter で複数のアカウントを作成し、ブラウザー プラグインを使用してユーザー エージェントを簡単に偽装し、地理位置情報も無効にする大量のプロキシの背後に隠れることができます。

他にできることは、プロキシ検出を追加して、プロキシの背後にあると思われる場合は登録/投票を防止することです。

于 2011-11-24T17:52:18.450 に答える
1

ほとんどの場合、いくつかの妥協をしなければならないでしょう。ユーザーが別人であることを 100% 確実にすることは、ほぼ不可能です。妥当なアプローチの 1 つは、Twilioのようなサービスを使用して、サイトが簡単な電話で確認できる一意の電話番号をユーザーに提供するように要求することです。

また、複数のアカウントを使用することを不便にしたいと思うでしょう。あなたの場合、投票プロセスでキャプチャを使用して、自動化されたシステムが投票を入力できないようにすることができます。このように、誰かが 10 または 50 の電話番号を持っていたとしても、結果を意味のあるものに変えるにはかなりの労力を費やさなければなりません。

于 2011-11-24T18:09:05.433 に答える
-1

ユーザーにアカウントへのテレサインインを要求することは、一括登録を防ぐためのかなり一般的な方法のようです。これらのサービスを提供している会社はいくつかあります。

于 2012-03-30T23:48:14.837 に答える