loading请求处理中...

防作弊的网上投票系统应该怎么设计

2021-12-01 14:32:26 阅读 11861次 标签: 营销 作者: 695074833

    网上投票在今天已经对于我们已经不再陌生,基于庞大的网民群体,网络投票能汇聚更多,更广的参与者实施费用低,方便快捷更是网络投票的一大优点。但是网络投票也存在很大的弊端,网络投票很容易作弊,而使投票结果不能反映群众的真实想法,而越来越失去公信力。那么,有什么方法能解决这个问题呢?下文小编就教您如何设计一套完善的防止作弊的网络投票系统。

防作弊的网上投票系统应该怎么设计

    当前网络投票之所以容易作弊,跟很多投票系统的设计不完善有很大的关系。中国网民众多,各个网站的网管也不少,但毕竟互联网是新鲜事物,绝大部分的网管只会维护网站的正常运转,并不具备设计或改进投票系统的能力。他们使用的投票系统往往是向第三方购买或直接网上免费下载的,然后简单的设置一下,改改界面就开始使用。而软件服务在中国还做得比较差(不管有偿无偿),买回来或免费下载回来的投票系统可能是几年前的技术,一些漏洞都没有修补(如SQL注入、X-Forwarded-For注入等),这样的投票系统很容易被人为作弊,甚至数据库都被篡改。有效的杜绝人为作弊应该从以下几个方面去考虑:

    一、采取有效的IP限制,一个IP只能投一票。

    目前网络上绝大部分的投票活动都是一个IP一天可以投一票,少数没有IP限制(采取客户端Cookie限制的也属于没有IP限制),极个别的才是一个IP只能投一票。如果不是为了增加投票网站的流量或点击率,作者认为投票活动应该采取严格的IP限制,一个IP参与一次足够了,不需要重复投票。

    在获取客户端IP方面,应取消使用HTTP_X_FORWARDED_FOR,因为HTTP头的"X_FORWARDED_FOR"属性很容易伪造客户端IP地址,个人认为还是只支持REMOTE_ADDR比较好。

    二、加入验证码。

    验证码能比较有效的杜绝网络机器人,在一些注册、登录界面中我们经常可以看到。网上投票活动中,也应该加入验证码,以防止使用投票软件作弊。但是作者不推荐使用中文验证码,为方便投票网民的录入,只要英文、数字就行了,随机变形、旋转,这样也很难被软件识别。

    三、投票数据每次提交都不一样。

    如果每次投票数据都不一样,那就很难使用软件发送固定数据包了。

    四、多级跳转,并使投票网址动态变化。

    这样做的好处就是使投票目的网址能不断变化,用软件向固定地址发送数据包就没有意义了。

    五、要求在投票页面停留一段时间后才能投票。

    比如,必须访问投票页面3分钟后投票才有效,但是这个时间不能使用客户端脚本(VBScript、JavaScript)来限制,使用Session验证才有实际意义。

    六、设定每天投票数量上限。

    估算投票网站的流量,制定一个每天投票数量的上限,如一天最多只能为一个投票对象投1000票,超出的不记录。

    七、设定投票最短时间间隔。

    为了防止对某个投票对象的集中投票,可以限定1分钟之内不能对同一个投票对象投票,即使更换IP也不可以。

    八、把验证码或其它验证数据发送到邮箱,并限制每个邮箱只能投一票。

    九、其他方法。

    1、如可以根据投票速度设置一个反转开关,当速度到达多少票/分钟时,每投一票票数减一。

    2、不反馈投票成功或失败的信息,票数不公开或不实时更新。

    3、回答一些有关投票的验证问题等。
     
    网上投票如果成为作假的工具,就会失去它出现的意义,上面的方法能有效杜绝舞弊保证投票结果的真实性。如果您需要更多相关方面的问题或需求,欢迎登陆一品威客网发布任务,届时将有专业公司或人才为您服务。

网络表决公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论