摘要:刷票行为,一直以来都是个难题,无法从根本上防止。基于,下面介绍防刷票的一些技巧校验。攻击手段限制加上投票限制。预防对策限时投票投票程序,只在某个时间段内开放。预防对策投票间隔用户投票后,需要隔多长时间才能继续投。
刷票行为,一直以来都是个难题,无法从根本上防止。
但是我们可以尽量减少刷票的伤害,比如:通过人为增加的逻辑限制。
基于 PHP,下面介绍防刷票的一些技巧:
1、HTTP_REFERER : 校验 $_SERVER["HTTP_REFERER"]。可伪造,使用 CURL。
curl_setopt($ch, CURLOPT_REFERER, "HTTP://www.baidu.com");(攻击手段)
2、IP限制:加上 IP 投票限制。可伪造,使用 CURL。
$ip = ***.***.***.***; $header = array( "CLIENT-IP:{$ip}", "X-FORWARDED-FOR:{$ip}", ); curl_setopt($ch, CURLOPT_HTTPHEADER, $header);(攻击手段)
3、User-Agent:校验 $_SERVER["HTTP_USER_AGENT"]。可伪造,使用 CURL。
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.0)");(攻击手段)
4、验证码:采用非常复杂的验证码,可以防止一些菜鸟攻击者。
a:但是专业刷票机可以攻破。如果不用验证码,投票基本就歇菜了。 b:验证码获取方式,采用异步加载,即点击输入框时,才去请求。 c:投票成功后,删除验证码的 Session。
5、登录:用户必须登录才能投票。
a:可以攻破,写程序不断注册新用户,然后用来投票。(攻击手段) b:指定大于某个 UID 的用户,或者某段时间内活跃的用户,才能进行投票。(预防对策)
6、限时投票:投票程序,只在某个时间段内开放。否则,对方半夜刷票,你咋办?
a:从 早 8 点 至 晚 23 点。(预防对策)
7、投票间隔:用户投票后,需要隔多长时间才能继续投。
a:很多投票站点基本上都有这个限制,但是对于更改 IP的攻击,就没办法了。 b:针对 UID 限制,可以有效防止攻击,但是可以使用批量注册马甲用户。
8、投票结果展示:延迟展示,友好展示。
a:页面上投票,JS 立马加1,但是刷新页面,不一定立马展示最新投票结果。 b:返回状态给页面(感谢您的投票!或者 投票成功!至于有没有成功,另说了!)
9、补票逻辑:常见于一些软件评选之类的投票。
a:有时候软件厂商会为了让自己的票数高一点,会私下给活动举办商 $,后台进行补票。 b:后台跑脚本,采用 IP 库,缓慢平滑的增加票数。
10、扣量逻辑:常见于一些软件评选之类的投票。
a:这是个杀手锏,后台跑脚本实时监控异常增长(刷票)的项,然后实施扣量逻辑。 b:即对于这个项,投 10 票才算一票。
11、Cookie:常用的手段。比较低级。
a:投票后,在客户端写入 Cookie,下次投票时判断 Cookie 是否存在。 b:但是,这种方式非常容易攻破,因为 Cookie 可删除。
12、加密选项 ID:对一些投票选项的ID,进行随机加密。
a:加密算法,加Salt,并且设置有效时间,比如5分钟内。 b:服务器端进行解密并且验证。
13、人工刷票:没办法防。。
a:雇佣了一批水军,进行刷票,这个真没辙,人家确实是花了血本的。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/20828.html
摘要:识别嫌疑操作的批量注册和恶意登录行为,是杜绝羊毛党的重中之重。识别出羊毛党后,如何处理这帮人也是一个重要的课题,因为防刷注定是一个攻防对抗的过程。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 营销活动中,抽奖系统刷奖、刷票、刷券的人群,俗称羊毛党,常以低成本甚至零成本换取利润。对于羊毛党,大家是又爱又恨。爱他的人认为羊毛党们虽然撸了点小便宜,但是帮活动拉升了人气,至少在活动数据...
摘要:不过今天写的没有上面说的那么高大,只是一个小小的防刷解决思路。这是工作中经常遇到的在此仅做一个记录,以便回顾。同一个限制一分钟最多获取次超过次则锁定小时,锁定期间获取短信需加图片验证码收到这个需求利用做了简单的限流防刷功能。 一、写在前面 在互联网的发展史上,安全总是一个绕不开话题, 你有安全盾、我有破盾矛。所谓道高一尺、魔高一丈,不过互联网安全也正是在这种攻防中慢慢的发展起来的。 ...
摘要:在次失败后,第四次请求,就返回错误文案验证码连续错误三次,请重新获取短信验证码还有一个需要思考的维度。一般来说,短信验证码会有分钟的有效期。 前言: 现如今登录用手机验证码登录是越来越常见了。虽然会增加成本,不过对用户体验的提升还是很有帮助的。那么,当产品经理对开发说,来按照这个原型给我搞个短信验证码登录的时候。我们作为研发,应该想些什么?showImg(https://upload-...
摘要:,大家好,很荣幸有这个机会可以通过写博文的方式,把这些年在后端开发过程中总结沉淀下来的经验和设计思路分享出来模块化设计根据业务场景,将业务抽离成独立模块,对外通过接口提供服务,减少系统复杂度和耦合度,实现可复用,易维护,易拓展项目中实践例子 Hi,大家好,很荣幸有这个机会可以通过写博文的方式,把这些年在后端开发过程中总结沉淀下来的经验和设计思路分享出来 模块化设计 根据业务场景,将业务...
阅读 2512·2021-11-18 10:02
阅读 1978·2021-11-09 09:45
阅读 2414·2021-09-26 09:47
阅读 1014·2021-07-23 10:26
阅读 1065·2019-08-30 15:47
阅读 3357·2019-08-30 15:44
阅读 958·2019-08-30 15:43
阅读 884·2019-08-29 13:50