公众投票和避免多重投票:使用Cookie还是IP?

问题描述

| 您如何处理公众投票(任何人都可以“喜欢或不喜欢”文章)并限制他只能投票一次? 我要使用Cookie吗? (存在他可以删除Cookie并投票x999次的问题)还是我将他的IP存储在数据库中?     

解决方法

该解决方案包括三个部分: 使用Cookie防止出现双重投票 将所有投票事件存储在数据库中(ip,用户代理,民意调查/文章ID,投票) 实现一种算法,该算法每24小时运行一次,以删除从#1逃脱的双票。该算法将使用#2中的数据 仅使用IP是不合适的,因为它可能会使很多人脱离投票系统。     ,使用IP。 虽然您可能导致一群人仅从一个IP后面投票一次,但是另一种选择是绕行(不存储cookie)很简单。     ,我要说两个都做,以便如果有人拥有动态IP,他们将必须同时更改IP和删除Cookie。     ,如果用户进行了身份验证,即他们自己投票,则在数据库中抛出一条记录,表明用户已经投票。对于匿名选民,您只能使用Cookie,本地存储等。     ,代替cookie可以使用evercookie,这是很难(但仍然可以)绕过的方法。   evercookie是一个JavaScript API   可产生极大的   浏览器中的持久性cookie。它的   目标是确定客户   他们删除标准后   cookie,Flash cookie(本地共享   对象或LSO)等。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...