我有survey,我想阻止用户多次投票。有没有人有一个代码,我可以在页面中包含在调查中防止多次投票
-2
A
回答
0
为了防止人们输入多个答案,您希望使用会话(这意味着您必须将该页面放在登录后面)。或者,您可以使用IP。
但是,IP变化。这意味着,即使您仅使用IP并将其存储在某处(可能是加密的),以便使用该IP的用户将无法再回答,但您不会阻止我再次回答问题。
您是否考虑过使用社交网络(例如facbook和twitter或google +)启用登录?这是登录的替代方法。
如果您只对IP感到满意,则可以简单地使用IP条目创建数据库表。假设您已经拥有该表,并且该表有三列(id,ip,survey)。
<?
//take the ip
$user = $_SERVER['REMOTE_ADDR'];
//sanitize the ip (is it valid?). This can probably skipped with prepared statements but one never knows
if (filter_var($user, FILTER_VALIDATE_IP)) {
echo "This (ip_a) IP address is considered valid."; //for debug
$user = md5($user); //or whatever else if not md5
$query = $mysqli->prepare("insert into iptable values (NULL, ?, ?)");
//etc.
}else{
//return error
}
?>
我希望这会有所帮助。我宁愿登录。
+0
非常感谢......现在正在测试代码 – nick 2013-03-01 11:34:09
0
根据服务器的/主机设置,这里有几个选项:
很简单:在浏览器上,当用户投票设置cookie。在接受投票之前检查cookie。可以轻松地绕开(删除cookies)
Med:获取IP并将其存储在表中。在接受投票之前检查表格。 “很难”规避(请求代理人)。如果您接受来自NAT后面的人员的投票并且拥有相同的IP,那么这可能不是一个好的解决方案。
我会做什么:不要重新发明轮子。尝试surveymonkey另一个类似的在线服务。
相关问题
- 1. 防止第二票在评论投票
- 2. 如何防止用户在1小时内多次投票?
- 3. 解析数组[如何防止用户投票多次]
- 4. 如何防止游戏投票系统,人们可以每天投票一次?
- 5. 石灰调查防止用户自行投票
- 6. 阻止用户在Rails中多次投票
- 7. 如何防止重复投票
- 8. 停止用户在网站上多次投票
- 9. 防止来自不同用户的多个同时投票
- 10. 当有多个可能的选择时,防止重复投票?
- 11. 从cookie中投票5次
- 12. 在php中创建独特的民意调查/投票/调查
- 13. 防止在调查网站上进行多次注册
- 14. UICollectionView防止多次轻击/调用didSelectItemAt
- 15. 更多投票()?的
- 16. 在MVC中防止多次提交
- 17. 在MongoDB中投票
- 18. 防止Ajax调用两次
- 19. 验证用户投票的投票一次
- 20. 如何防止在javascript中自动多次调用onchange函数?
- 21. 防止在React JS中多次调用方法
- 22. 如何建立投票系统来支持多种投票类型的投票?
- 23. 投票与长投票
- 24. 系统设计:防止/检测投票欺诈
- 25. 防止多次提交
- 26. 防止多次登录Servlets
- 27. CustomDialog - 防止多次点击
- 28. 多次防止jQuery着火
- 29. 防止多次安装
- 30. 防止多次执行
首先向我们展示您的一些代码。 – Voitcus 2013-03-01 10:32:31
'if(userHasVoted){call_Ignore_Vote(true);}' – Nanne 2013-03-01 10:33:19
阅读本文http://stackoverflow.com/q/1042247/1920232 – peterm 2013-03-01 10:39:37