我正在使用Django开发一个Web应用程序,它涉及一些不同的民意调查。我显示一个问题后跟一些链接,用户点击他/她喜欢的链接。例如:
<p>Which one do you prefer?</p>
<a href="http://domain.com/polls/15/vote/1" >Option 1</a>
<a href="http://domain.com/polls/15/vote/2" >Option 2</a>
<a href="http://domain.com/polls/15/vote/3" >Option 3</a>
<a href="http://domain.com/polls/15/vote/4" >Option 4</a>
每个链接都使用两个数字15
代表投票数15,并通过投票选择所选的选项,例如1
。
问题在于,可能有些用户会开始刷新网页,例如疯子选择他们的选项,在他们的浏览器中输入链接http://domain.com/polls/15/vote/1
以多次投票。
有没有办法避免这个问题?我应该在x
时间内将选民的IP存储到数据库中,以避免他们在x
时间内多次投票吗?这对许多用户来说不是一个问题吗?
谢谢!
答案 0 :(得分:1)
取决于你想要走多远:
此外,每当你发现用户已经投票时,可能是一个聪明的举动,只是默默地忽略他们的进一步投票并假装他们被接受,这样他们就不会尝试几乎难以作弊。