网站投票防刷票验证码分析和实践来源:八方刷票公司http://www
8fvote
com综述篇现如今,网站投票的方式被越来越多地用于各种评比活动中,互联网无疑为投票活动带来了极大的便捷,但是也由此产生了新的问题——刷票、或者准确的说是机器刷票
回忆5、6年前各种选秀活动大量采用手机短信投票方式,从那时起刷票公司遍地开花,往后几年“圈钱”“骗钱”的手机短信方式逐渐减少,纯网站形式渐渐增多
也许就是从那时开始带热了刷票行业,到现在加上木马病毒灰色产业链的帮助,防刷票的技术门槛被大大的提高,刷票与防刷票已经演变为一场攻防较量
想必所有正儿八经的投票主办方都不愿意自己的网络投票被人通过技术手段任意地增加票数,但是HTTP技术使然,想实现并采用比较有效的防刷票方式却又不是那么容易,或技术成本过高,或用户体验不佳
本文正是希望通过分析,例举和对比各种验证方法,探索一些较好的防刷票验证方式,既能方便的实现和部署,又不失对用户的友好
本文涉及的技术主要基于Linux、nginx、mysql、php-fastcgi构建的WEB平台(缩写为LNMP),包括gd库、curl库等,另外涉及的工具可能包括Firebug、Httpfox、Httpwatch、Fiddler、IEWebDeveloper
文章将依次列出各种常见的验证码形式,对其为何被攻破的原因作出一定的阐述,可能由于个人水平有限,分析不到位或不准确,欢迎拍砖
最后还得注明一点,本文谈的主要是防机器刷票,对于靠人肉战术,以拼人数,拼体力的方式刷票就没有什么太好的解决办法了
分析篇该部分将对基本而常见的验证方式进行分析
Cookie方式
这是一种很老的验证方式,原理是通过在浏览器上用cookie来记录相关信息,如最后一次投票的时间或已投票次数,如果用户再次投票时检测到超过了限制,则提示用户不能投票
普通破解方式,可以通过浏览器的设置如