百度贴吧的投票系统反重复投的技术实在太牛,大家去体会下就知道了。
在贴吧里的投票,限制一个ip一天一票,我投了一票后,尝试过重新拨号换ip,尝试多次都显示“已经投过了”,但总票数就1票是我刚刚投的,那些新ip绝对未投。
我把ie的安全级别设置为高,拒绝一切cookie,然后拨号换ip,再投,还是“已经投过了”。
百度这些反刷票措施都是什么技术??有什么相关资料吗?
有人用超级兔子清理上网残留信息,重拨号,百度允许他投票,也就是说欺骗baidu成功了,而且是清理本机信息后成功的。
那么百度这些措施还有什么不足吗?还有能欺骗重复投票的漏洞吗?
在贴吧里的投票,限制一个ip一天一票,我投了一票后,尝试过重新拨号换ip,尝试多次都显示“已经投过了”,但总票数就1票是我刚刚投的,那些新ip绝对未投。
我把ie的安全级别设置为高,拒绝一切cookie,然后拨号换ip,再投,还是“已经投过了”。
百度这些反刷票措施都是什么技术??有什么相关资料吗?
有人用超级兔子清理上网残留信息,重拨号,百度允许他投票,也就是说欺骗baidu成功了,而且是清理本机信息后成功的。
那么百度这些措施还有什么不足吗?还有能欺骗重复投票的漏洞吗?
我去研究一下~~
投票首先用的是XmlHttpRequest对象,也就是Ajax投票,截取到的流如下:[code=截取流]POST /sys/commit/ HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://toupiao.baidu.com/sys/dtview/1/aa2c280be17300f2ec33c8bf?bu=http%3A//tieba.baidu.com/f%3Fkz%3D327757432&t=0.8847724953756559
x-requested-with: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: toupiao.baidu.com
Content-Length: 84
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: BAIDUID=7CAE24D1837E45A61E848B69F36F5EE7:FG=1; BD_UTK_DVT=1; BDSTAT=cffc1e17d18c044674134b44d1c10c74f4c10f1bb151f8199218367ad8b4c157; _BDSC=1; BDUSS={我的Cookie,我删掉了}
cm=2&pid=1&voteid=aa2c280be17300f2ec33c8bf&checkset=1&opt0=1&t=0.6540096781835398&_=[/code]然后关猫,重新上线,就可以重新投票了,不过……我怀疑那个BAIDUID很可能就是用来辨别的,因为我这两天一直在分析百度,用IdHttp模仿的时候,BAIDUID根本不知道从那里的来的,但是从浏览器里面就可以截取到,但是不用BAIDUID也不妨碍登陆、发帖、上传等功能~~
var
T:TStrings;
Response:TStringStream;
begin
T:=TStringList.Create;
Response:=TStringStream.Crate('');
T.Add('cm='+ cm);
T.Add('pid=' + pid);//这些都是变量
//....
try
IdHttp1.post(Url,T,Response);//<--这里,Url是'http://toupiao.baidu.com/sys/commit/',T是列表,就是参数表,模拟方式很多~~网上就有,Response是一个接受返回信息的流
except
//....
end;
T.free;
Response.free;
end;