感谢bdunion研究的投稿
一、 网站情况及账号被封情况
本人自2007年以个人站长的身份加入百度联盟,到2015年10月15日账号被封,跨度8年时间。网站也不断发展,由最初的个人站长发展到公司运营。百度联盟收入也由最初几十块/月发展到收入几十万/月。
网站被封情况:
1、2015年10月8日收到百度联盟业务经理邮件通知,我公司百度联盟账号2015年9月14-20日存在大量机器恶意点击广告(作弊)。
2、经过技术人员排查以及技术条件原因,未能找到恶意攻击来源。与业务经理沟通后决定不再申诉。
3、账号分账权限于2015年10月15日封闭。
二、 问题反思和问题分析
1、问题反思
我多年来做网站固化思想:只要把网站内容做好、把网站客户服务好网站就一定有流量,就一定没有问题;反正自己也不会去作弊,那些账号被封、被K站的事统统不会和我不会有任何联系,倒霉事一定不会落在我头上。
因此,我是将主要精力放到了发展网站客户、提高网站技术性能等方面。很少去尝试分析和研究百度联盟效果报告的数据,很少关注百度联盟作弊与反作弊的相关问题。每天登录百度联盟操作最多的就是查看前一天有多少收入。
在账号被封后,参加了百度联盟QQ群“关于反作弊和解封的视频培训”,培训内容中包括百度联盟违规形式、申请解封等内容。由于账号处于封禁状态,就特别关注解封的培训内容。账号被封后30天、90天可申请解封、1.5年后可申请自动解封。11月16日账号被封32天,我在百度联盟申请解封入口(http://investigate.baidu.com/index.php?sid=84646&lang=zh-Hans)提交了申请。申请内容:“我们保证:与百度联盟合作期长达8年,从未参与任何恶意广告点击,以后也不会参与。目前账号已封超过30天,申请解封账号”。
很显然我心里思想在账号被封30多天后仍然还是以前的思想,还是以为自己只要没有参与作弊到30天后申请就会解封。结果也很显然,3天后收到百度联盟的站内信和邮件回复“经核查,联盟已经对您帐号做出不予解封处理”。
在账号被封、30天时申请解封失败后,心情极度低落。在之后的10多天里反复在想:百度做出不解封的决定一定有其原因。换位思考:如果百度解封了我是否能避免作弊行为、是否能阻止别人针对网站的作弊作为、是否能及时发现作弊行为?
2、问题分析
沿着“阻止作弊”、“发现作弊”的思路,翻阅学习了“反作弊问题讲解.pdf”以及联盟后台帮助文档。从百度联盟后台、百度统计后下载了近3个月的数据,以及作弊期间(9月14-20日)数据准备进行分析比较。
2.1 数据分析
我的网站是行业垂直类网站,每周工作日流量与周六、周日明显不同,与节假日也不一样。因此选择2015年7、8月份(无节假日)作为正常数据的参考样本,与作弊期间的数据进行比较。比较数据如下图1,图2
图1 百度网盟点击率数据对比图表
图2,结合百度联盟点击量与百度统计中的PV/UV/IP数据比率
2.2 发现问题
通过点击率数据(图1)分析发现,点击率在工作日平均为0.58-0.63%,而9月问题数据点击率高达0.88%,比正常的点击率高出15%-28%。从图表可以看出9月14-20日周一至周六有大量作弊数据,9月20日周日作弊数量很少(恶意攻击者估计也要过周末)。
通过PV/UV/IP数据(图2)分析发现,无论是PV点击率、UV点击率、IP点击率,问题数据周一至周五期间均比正常数据要高。PV点击率最高比平时高出18%,UV点击率最高比平时高出15%,IP点击率最高比平时高出14%。
三、 作弊特征和整改应对措施
3.1 作弊流量特征
通过百度联盟数据分析发现,作弊期间点击率比正常数据高出很多(最多高出28%);结合百度联盟点击量和百度统计的数据(PV/UV/IP)对比,点击率也高出很多。虽然无法找到具体某个或某些IP地址在实施作弊,但基本上了解作弊的特征:作弊流量不会像正常流量一样。正常流量100多个PV才会有一点广告点击动作,100多个IP地址才会3个点击。显然作弊流量不太可能100多个PV才会有一个广告点击,一定是少量PV就会有点击动作,所以作弊流量才会把点击率提高10多个百分点甚至更高。
上述总结的作弊特征是通过我们网站的数据分析得出的。那么精明恶意流量作弊者能做到100多个PV一个广告点击,100多个IP地址3个点击吗?由于我是技术出身很容易能判断:作弊者要做到100多个IP地址3点击显然比较困难;作弊者要做到100多个PV一个广告点击就相对会比较容易,但需要一个IP要快速的浏览多个页面才可以。
3.2 应对作弊措施以及网站的技术改造
按照这个思路和作弊流量的特征我们便实施了应对作弊的措施:
3.2.1针对第一种特征情况(少量PV点击一次广告)的措施
该种情况的特征,由于某些IP的PV浏览不高,很难发现具体某个IP是作弊的流量,但他会拉高整体的点击率,因此我们如下措施从整体数据判断是否有作弊行为发生:
●每天分析联盟点击率、点击量数据。
●每天分析结合百度统计和百度联盟的数据进行比较分析。
●不定期更新点击率、点击量等参考数值。
●当发现点击率、点击量等数据较参考数值波动较大时,立即向百度联盟提交异常数据备案(http://investigate.baidu.com/index.php?sid=13684&lang=zh-Hans)。
●如长时间点击率、点击量等数据持续异常的,将下线百度联盟广告代码投放,待恢复正常后再重新投放。
3.2.2针对第二种特征情况(少量IP较多PV点击一点广告的情况)的措施
该种情况的特征,由于某些IP的PV浏览较高,相对较容易发现作弊流量的IP地址,针对该种情况我们采取封禁IP地址的措施,对网站进行了如下技术改造:
对网站程序进行改造,限制某一IP在短时间之内访问过多页面(除搜索引擎蜘蛛)。当程序发现某一IP地址访问页面过多时(目前设置为10分钟最多50页,之后可随时调整),自动将此IP访问封禁2小时。如被封禁的IP持续不断访问,封禁时间将自动延长。
四、 总结
通过本次百度联盟账号被封、被作弊的经历,使得我们对百度联盟反作弊的重视和学习。让我们学会了如何发现作弊,更让我们有能力阻止作弊行为发生在我们的网站上。
五、 给站长们的建议
● 除了用心做网站,但更要有反作弊的思想。
● 有反作弊思想,还要有反作弊的能力,有能力发现作弊行为、也要有能力阻止作弊行为。
PS.本次账号被封使得我们对“被作弊行为”恨之入骨,原本该文章是提交百度联盟的解封申请书。但我想肯定还有很多百度联盟的会员和我相同的遭遇却不知道发生了什么事、不知道如何找到被作弊的原因以及措施,因此决定将该文章发布到百度联盟吧与所有百度联盟的会员分享。如果对联盟会员确实有帮助,之后还将第二种情况的技术方案、编程思想、程序代码与联盟会员分享。