这是一个有效的匿名用户投票系统吗?
已更新
问题概述
我正在开发一个公共想法共享 网站,任何用户(创建后 一个帐户)可以提交想法;他们 然后将被审查和由我们的评级 内部评审员。并且只有最好的 提交的想法将被公布。 这些想法现在可以由任何人投票 匿名。对于每 1000 个想法 投票,我们将奖励创意作者 比如说 0.5 美元。
我使用的是匿名投票系统,其中每次投票均由IP 地址和用户代理的组合来标识。
但由于我们用现金奖励用户,我担心这个投票系统可能会被操纵!
我考虑采取的措施:
- 仅在启用 javascript 的情况下投票(使用 ajax) - 确保投票仅来自浏览器。
- 还考虑仅从最常用的浏览器接收投票。
这种投票能否有效且没有太多漏洞?
匿名投票系统有什么好的解决方案吗?
哇!此链接很有帮助: 什么是记录匿名用户投票且不允许重复的可靠方法
UPDATED
overview of the problem
I am developing a public idea sharing
website, where any user(after creating
an account) can submit ideas; they
will then be reviewed & rated by our
internal reviewers. And only the best
submitted ideas will be published.
These ideas can now be voted by anyone
anonymously. And for each 1000 idea
votes, we will reward idea authors
with say $0.5.
I'm using an anonymous voting system where each vote is identified by a combination of IP address and User-agent.
But since we are rewarding users with cash , I fear this voting system could be manipulated!
Measures I've thought of taking:
- Voting only with javascript enabled( using ajax) - to make sure votes come from browsers alone.
- Also considering to receive votes, only from the most commonly used browsers.
Can this kind of voting work effectively without much loopholes?
Any good solutions for anonymous voting systems?
Wow! this link is helpful: What is a reliable method to record votes from anonymous users, without allowing duplicates
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
基于用户帐户(信用卡、支票帐户..)的身份验证或者钱是如何支付的?
authentication based on the users account (credit card, checking account ..) Or how is the money payed out?
这行不通。人们可以轻松伪装成不同的用户代理,无论它是否是“常用浏览器”或是否启用了 Javascript。为什么你认为限制投票给使用普通浏览器的用户会起到任何作用,这是没有任何意义的。即使您需要启用 Javascript,也可以编写客户端脚本来投票。即使是 IP 地址也无法免受欺骗;例如,用户可以在代理服务器后面工作。还要考虑到可能有多个用户共享同一 IP:动态 IP 地址非常常见,大型 ISP 经常通过在不同时间将 IP 地址分配给不同用户来重复使用 IP 地址。
我已经投票决定将其视为偏离主题,但看起来它也是重复的: 每个 IP 地址限制 1 票?
This won't work. People can easily masquerade under a different user agent, regardless of whether or not it's a "commonly used browser" or if Javascript is enabled. It doesn't make any sense why you think limiting voting to users with common browsers will do anything at all. Client-side scripts could also be written to cast votes, even if you require Javascript to be enabled. Not even IP addresses are immune from spoofing; for example, the user could work from behind a proxy server. Also consider that there could be more than one user who shares the same IP: dynamic IP addresses are quite common, and large ISPs frequently re-use IP addresses by allocating them to different users at different times.
I already voted to close this as off-topic, but it looks like it's also a duplicate: Limit 1 vote per IP Address?