预防选票欺诈——如何保证选票的合法性

ks7*_*s78 2 networking website ip asp.net vb.net

我正在开发的一个网站包括一个竞赛,允许用户为他们最喜欢的条目投票。客户想要某种形式的投票欺诈预防。

记录所有投票者的 IP 地址的想法已经出现,但我不确定这是否是一个好的解决方案。内部 IP 地址当然是一个坏主意,但是外部地址呢?我看到的问题是,例如,整个大学计算机实验室可能会使用单个外部 IP 地址。——甚至整个校园。如果一个 IP 地址只允许有限数量的投票,则完全合法的投票可以很快达到该限制。

有谁知道实现这一点的更好方法?当然,这之前已经完成了。

任何帮助表示赞赏。提前致谢。

Zed*_*Zed 5

您想要的是仅向已注册至少一周/月/等的用户开放投票——但这可能对您无济于事,因为如果您提出 IP 检查,听起来您是根本不验证您的用户。

如果您试图消除欺诈,并且没有对用户进行身份验证,那么您可能会举手走开。如果您对偶然欺诈的最小减少感到满意,那么您可以做一些事情。

选民 IP 检查是一种成本相对较低的机制,如果您没有其他事情可做,可以尝试减少多次投票,但正如您所注意到的,它可以调用阻止合法用户投票的成本,并且什么也不做通过招募非用户来防止投票堆积,每个人都将拥有一个合法不同的 IP 地址(即“嘿,Slashdot/Reddit/Pharyngula/IRC-Channel-X,每个人都在这个投票中投票给这个选项!”) . 单用户填充仍然可以使用僵尸网络或大型代理列表或多台机器上的帐户(即任何不在 NAT 后面的大学实验室)来完成。

您正在寻找的是一些用户独有的信息。如果您目前没有,您可以通过向用户发送一次性令牌来创建它,这基本上是邀请投票。当然,如果您的用户还没有授予您向他们发送电子邮件的权限,或者您不知道您的用户是谁,这仍然是有问题的。

如果您可以引诱您的用户在网站上注册,那么您就可以通过这种方式验证投票,但是在投票的同时开始它是危险的,因为您再次面临招募工作的可能性。

您可以在民意调查中提出任何真正用户都应该能够轻松回答的问题,但非用户不会,并以这种方式过滤结果,但您可能会发现您的用户知道的比您想象的要少,并且没有什么可以阻止虚假选民提供包含所有答案的备忘单。

您似乎正在寻找一种方法,将输入限制为未知数量的完全未知的人,并防止他们多次提供输入或更改其明显身份。这不会发生。