PHP投票系统如何防刷票

源地址:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2013/0117/11944.html

生活中,不少人都会遇到需要投票。但往往投票的地方也是薄弱的,可能对投票来源没有验证的话,将会导致刷票,严重的话还会导致网站沦陷。

下面这篇文章就是讲如何防刷票,虽然不是100%能防止,但是也能从根源上杜绝了一大批菜鸟对系统的破坏。我就直接转过来了.

刚刚做了一个刷票系统,感触不少,刚开始也是遇到好多好多刷票的。经过了一次又一次的改正,基本上杜绝了刷票程序进行的刷票。下面把具体刷票方面列举出来
 
1.首先一个复杂的验证码是非常非常重要的,刚开始用了一个很简单的小验证码,根本躲不过刷票程序的破解。所以在网上找了一个很复杂的验证码,连人工投票都得刷新两下。有需要的可以留下邮箱,我会在第一时间发过去。
 
2.因为投票都是实名制的,填写身份证号码的,所以身份证号码的验证也是必要的。首先身份证号码必须为18位(一代身份证现在基本上见不到了),前17位必须为数字。代码现在写出来一个参考的 if(((strlen($sfz))!=18 and (strlen($sfz))!=15) or (!is_numeric(substr($sfz,0,strlen($sfz)-1)))) “$sfz”是接收到的身份证号码,这条语句后面可以添加一个提示方式。另外在投票之前验证当前身份证是否已经投过票,否则不予计票。
 
3.如果特别正式的可以使用注册后再进行投票的机制,注册的时候也应该对注册信息进行判断,注册的时候必须添加验证码进行限制。
 
4.程序的的安全机制也很重要的,如果使用面向对象的程序,必须把计票的函数设为private,防止SQL注入!
 
5.另外就是使用cookie方式在客户端进行时间限制,这种方式是防君子不防小人,专业刷票团队肯定首先会想到这一点。但还是建议加上。
 
6.还有一个就是IP限制,比如每个IP只允许投100票(考虑到一些公司使用一个大局域网,公网IP都是用的一个,否则可能会出现不公平的现象)。
 
7.最后一个也是最重要的,验证码输入框那里用异步通信进行实现。网页初始验证码是不显示的,点击验证码输入框再显示出来验证码,而投票成功之后马上unset验证码的SESSION。这样就可以避过绝大多数刷票机。
 
本文大概提供了一些常规的思路,所谓防人之心不可无,你不能确保每个用户输入的都是安全的。最后说一句:检查的时候记得白名单,这是必要的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信投票——助您打开微信成功之门 注意:此插件完全依靠【禾今】微信助理并绑定微信公众开发接口,安装此插件前,请先安装【禾今】微信助理 功能介绍: 1、可设置开启和关闭限制投票用户IP区域,可限制省份限制,如“江苏”,也可限制城市限制,如“常州”! 2、可设置开启和关闭投票验证码功能,投票前需要手动拖动图片完成验证!屏蔽机器刷票! 3、设置每个微信用户每天可投票数,还能开启每个微信用户每天给同一个作品只能投一票的限制! 4、每个活动独立可开启和关闭 报名期和投票期重叠的时间段每个作品最高票数限制,比如报名时间是 1-10号 投票时间是 5-30号,那么5-10号期间每个作品的最高票数只能是设置的这么多,这样可以止前后报名作品的票数差距太大! 5、一键导出报名作品excel文件,可设置导出数量,想导多少导多少! 6、每个作品的投票记录可以清晰查看,并可一键导出每个作品的投票记录excel文件! 7、两套投票主题风格可供选择 8、强制关注公众才能投票和报名 9、可设置投票者每投一票奖励积分 10、可结合微信刮刮卡插件,用投票奖励的积分去刮卡 11、在线报名,报名时间和投票时间自定义,可设置投票期间也可报名 12、活动可灵活的设置报名是否需要审核,白天开启免审,晚上开启审核 13、三个活动说明自定义项,可随意放置任何代码:图片、文字、链接、音乐、视频等! 14、后台支持手动添加作品,也可以修改所有作品的票数等信息! 15、独立的第三方统计代码放置位,让你了解投票给你带来的流量、ip等信息! 16、可自定义报名作品上传的最多图片数! 17、后台通过作品ID一键搜索功能,快捷的找到要修改的作品! 18、后台可屏蔽作品,不出现在列表中,无法投票!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值