如何避免群众喜欢和不喜欢投票制度

时间:2014-02-27 02:10:20

标签: php

我知道之前已经问过这个问题,但我从来没有找到合适的答案。

我想建立一个类似博客的页面,其中包含不同的主题,每个页面都可以被喜欢和不喜欢。

我读到我可以创建一个包含以前喜欢的数据库,ip地址和用户客户端以及设置cookie。但是可以操纵用户客户端,可以更改IP地址并删除co​​okie。

如果攻击者删除cookie并在每个喜欢/不喜欢的地方更改ip,我该如何避免大众讨厌或喜欢?

2 个答案:

答案 0 :(得分:2)

如果你问你如何绝对100%保证没有人可以投票两次,我认为答案是,它无法完成。不在实践中;也许甚至在理论上都没有。

正如您所说,您可以在用户的​​计算机上删除cookie - 但是足够复杂的用户可以删除cookie。您可以跟踪每个选民的IP - 但有人可以从不同的计算机投票,或通过代理提交投票。您可以要求用户创建一个帐户,只让每个帐户投票一次 - 但有人可以创建多个帐户。您可以要求用户提供社会安全号码或驾驶执照号码 - 但有人可能会使用假号或被盗号码。

您可以向人们收取投票费用。这不会阻止某人投票两次,但他投票的次数将受到他的银行账户以及他愿意花多少钱的限制。

我认为理论上你可以要求用户提交他的指纹或DNA样本。但据我所知,很少有人将指纹识别器连接到他们的计算机上,甚至更少的人拥有DNA分析仪,所以我认为这不是特别实用。即使他们这样做了,你怎么会保证有人没有出去收集随机陌生人的DNA样本 - 比如在当地的快餐店收集丢弃的纸杯 - 通过DNA扫描仪?

你可以做任何上述事情,毫无疑问还有许多其他事情,让人更难以投票两次。但是如果人们足够关心你想破坏你的系统,那么你最终会得到一个游戏,在那里你可以设置围栏并找到爬过它们的方法或者在它们上面打洞。

这确实带来了一个有趣的观点。有办法验证声称是X人的人是昨天来的同一个人X:例如,我们可以要求他在第一次访问时提供密码,然后在随后的访问中重复该密码。冒名顶替者很难找到密码。但是你怎么证明你是一个不同的人?很难说他必须证明他不知道密码。什么会阻止一个人故意给出错误的密码?

答案 1 :(得分:1)

要求用户在投票前登录。就像Stack Overflow那样。

enter image description here