私は、匿名ユーザーが投票できる Web ベースのコンテストに取り組んでいますが、匿名ユーザーが複数回投票できないようにしたいと考えています。IP ベースの制限は匿名プロキシでバイパスでき、ユーザーは Cookie をクリアできます。分離されたストレージにアクセスできる Silverlight アプリケーションを使用することは可能ですが、ユーザーはそれをクリアできます。
ジョーカーがボットか何かで投票しない限り、これを行うことは不可能だと思います。アイデアはありますか?
私は、匿名ユーザーが投票できる Web ベースのコンテストに取り組んでいますが、匿名ユーザーが複数回投票できないようにしたいと考えています。IP ベースの制限は匿名プロキシでバイパスでき、ユーザーは Cookie をクリアできます。分離されたストレージにアクセスできる Silverlight アプリケーションを使用することは可能ですが、ユーザーはそれをクリアできます。
ジョーカーがボットか何かで投票しない限り、これを行うことは不可能だと思います。アイデアはありますか?
短い答えは次のとおりです。いいえ。より長い答えは次のとおりです。ただし、任意に難しくすることができます。私がすること:
これらの方法はいずれも 100% ではありませんが、これらを組み合わせることで、必要なレベルの保証が得られることを願っています。これをより高いレベルにしたい場合は、何らかのユーザー登録を追加する必要があります (これは、投票が発生したときに有効な電子メール アドレスを尋ね、指定されたアドレスに確認リンクを送信し、投票をカウントしないのと同じくらい簡単です)。リンクがクリックされなかった投票 - したがって、本格的な「ユーザー名/パスワード/ファーストネーム/ラストネームなどでアカウントを作成する」必要はありません)。
いいえ、それはできません。オンライン投票の結果を変更するには、1 人の人と積極的なフォーラムが必要です。
オンライン投票に固有の欠陥を認識し、それらを回避しようとするのではなく、それらを有利に利用しようとする必要があります.
-アダム
簡単な答えは「いいえ」であることに同意する必要があります...ただし、ここで私の最近の回答を見ると、ユーザーを匿名で識別してその情報を保存する方法は、確かに 6% の誤差範囲内で取得できます。
いいえ、それはユーザーのコンピューターであり、ユーザーが管理しています。残念ながら、唯一の解決策は、いわばコートに持ち帰って認証を要求することです。
ただし、CAPTCHA は、少なくとも人間のユーザーに投票を制限するのに役立ちます。
もちろん、認証を使用しても、単一の投票を強制することはできません。ボットに登録するように教えるからです...
あなたは確かにそれを難しくすることができます。
IP アドレス、ブラウザのユーザー エージェント、マシン名、その他取得できるあらゆる情報を使用してユーザー プロファイルを作成するのはどうでしょうか。
各ユーザーのプロファイルを保存し、データベースに既に存在するプロファイルと十分に類似したプロファイルを受け取った場合 (微調整する必要があります)、その投票を破棄できます。
どのような情報にアクセスできるかはわかりませんが、Silverlight を使用してより適切なプロファイルを作成できると思います。
クライアント側のソリューションは、あなたがリストした理由から出ています-ユーザーが操作できます。あなたが言ったように、サーバー側のソリューションはだまされてバイパスされる可能性があります。
1 人あたり 1 票しか得られないという事実を 100% 確信できないという事実を受け入れたい場合は、ノイズを減らすために実行できるいくつかの方法があります。
それは良いスタートです。
コンテストの開発と監視における私の個人的な経験から、匿名ユーザーに投票させる (またはコンテストに参加させるために何かをする) 場合、チートを回避する信頼できる方法はありません。
IP をいじって、あるアクションと次のアクションの間に遅延を導入することもできますが、それは非常に困難です。特定の状況で該当する場合は、キャプチャなどを導入するのが最善の方法です。
何よりも、匿名ユーザーを参加させないでください。「プレイ」してシミュレーションにアクセスできるようにしますが、コンテストにはログインが必要です。