我是Django的新手,但我正在研究Django网站上的创建民意调查的教程。
最好的方法是让客人(没有注册/登录)只能投票一次?
我猜猜Cookie是最好的方法,但Django有更好的方法吗?
答案 0 :(得分:7)
您使用的服务器框架有一个独立的解决方案:
Evercookie为您提供几乎不可挽回的Cookie 。如果您想要这种级别的数据持久性,请使用它们。
Evercookie是一种用于在cookie和各种其他地方存储数据的解决方案(例如Flash使用的内存“ cookies ”,HTML5的 LocalStorage 等)。 如果这些地方中的任何一个被清除,网站上的下一次访问将再次填充数据。您唯一需要的是存储在Evercookie使用的13个地方中的任何一个地方,下次访问再次填充它到其他12个地方。
很难摆脱这样的cookie,所以请考虑一下,您的用户是否真的同意以这种方式进行跟踪。其中一些人肯定不同意。
答案 1 :(得分:1)
如果人们只能投票一次非常重要,那么请考虑创建一个基本的注册/登录系统。访客总是可以使用多台计算机来扭曲投票,而帐户注册至少允许您跟踪用于投票的电子邮件地址。通过这种方式扭曲投票也需要更多的努力。如果它很重要但不具有挽救生命的重要性,那么我会对匿名访客使用cookie方法。