防刷票机制研究和.NET HttpRequest Proxy

最近应朋友之约 测试他做的投票网站 防刷票机制能力如何,下面有一些心得和体会。

朋友网站用PHP写的,走的是HttpRequest,他一开始认为IP认证应该就差不多了。但说实话这种很low,手动更换代理服务器手动刷都可以。但程序员的手就是程序,于是,

首先,百度到 一些 免费代理服务器,非常多网站分享这些。按一定格式来储存到TXT文件。

第二步使用Fiddler来进行截取消息,拿到其http request header和body:

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/net/

第三步使用.NET HTTPREQUEST。逻辑是遍历代理txt里代理,伪造 fiddler监听到的request 消息(当然其中一些cookie和其他的细节需要改变根据不同情况讨论)

_contentsList = File.ReadAllLines(@"C:\Proxy.txt");
           var contents = _contentsList.ToList();

           var proxy = string.Empty;
           var port = 0;

           foreach (var item in contents)
           {
               new Thread(() =>
               {
                   try
                   {
                       // 获取代理
                       var list = item.Split(':');
                       proxy = list[0];
                       port = Convert.ToInt32(list[1]);

                       // 伪造消息
                       var request =
                           (HttpWebRequest)
                               WebRequest.Create(
                                   @"http://XXX.COM");
                       request.Proxy = new WebProxy(proxy, port);
                       request.UserAgent = @"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0";
                       request.Referer = @"http://XXX.COM";
                       request.Method = "GET";
                       request.Host = @"XXX.COM";
                       request.Accept = @"*/*";

                       request.Headers.Add(@"Accept-Language", @"zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
                       request.Headers.Add(@"Accept-Encoding", @"gzip, deflate");
                       request.Headers.Add(@"X-Requested-With", @"XMLHttpRequest");
                       var response = request.GetResponse();
                       Console.WriteLine(response.ToString());
                   }
                   catch (Exception e)
                   {
                       Console.WriteLine(e.Message);
                   }
               }
               ).Start();

然后我朋友发现这样的确问题很大,于是他采用了验证码验证模式,即首先服务器会发给你验证码,你发的request的uri里参数必须要包含相同的验证码。

这种方式非常好,至少干掉了绝大多数的刷票软件。但我仍然想试验一下,这有一种battle的味道。哈哈

其实这个逻辑来说就是一来一回。给我验证码图片,我识别出来,然后再发送就好了。难度就在于验证码的OCR。

一开始我朋友验证码非常简单,就是几个数字,于是我直接使用最基础的OCR识别就干掉了。

后来他加了噪点,OK,这个也没有问题。我们降噪,然后再识别,虽然机器学习需要一段时间,但正确率还是有一些的。

最后他采用了随机产生汉字,我发现,汉字的OCR是个很麻烦的事情。这也是我下一步要研究的点,以后会出一篇关于OCR的文章。

随后他说还会加入一些cookie验证什么的,到这里我觉得我朋友的网站现在算是挺完善了。然后我就问下我老大,如果是他,他会怎么来刷票。

我老大回复非常简单,租人人工刷,随你技术怎样,我给他们两毛一票,你算算时间成本,完全划得来。

虽然这可能就是他随口一说,但我有一些感悟。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索验证
, request
, 代理
, httprequest
, 汉字
, var
, #HttpRequest
, 一些
, php防刷票
, php如何防止刷票
, 换ip刷票
, 刷票获得客户端IP
, 防刷IP流量
防刷票
防刷票机制、微信刷票机制、python request proxy、httpwebrequest proxy、nodejs request proxy,以便于您获取更多的相关知识。

时间: 2025-01-02 09:17:43

防刷票机制研究和.NET HttpRequest Proxy的相关文章

PHP投票系统如何防刷票

生活中,不少人都会遇到需要投票.但往往投票的地方也是薄弱的,可能对投票来源没有验证的话,将会导致刷票,严重的话还会导致网站沦陷.   下面这篇文章就是讲如何防刷票,虽然不是100%能防止,但是也能从根源上杜绝了一大批菜鸟对系统的破坏.我就直接转过来了:)   刚刚做了一个刷票系统,感触不少,刚开始也是遇到好多好多刷票的.经过了一次又一次的改正,基本上杜绝了刷票程序进行的刷票.下面把具体刷票方面列举出来:   1.首先一个复杂的验证码是非常非常重要的,刚开始用了一个很简单的小验证码,根本躲不过刷票

基于PHP给大家讲解防刷票的一些技巧_php实例

刷票行为,一直以来都是个难题,无法从根本上防止. 但是我们可以尽量减少刷票的伤害,比如:通过人为增加的逻辑限制. 基于 PHP,下面介绍防刷票的一些技巧: 1.使用CURL进行信息伪造 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://localhost/2.php"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIEN

基于移的Agent的云计算身份认证机制研究

基于移的Agent的云计算身份认证机制研究 杨娜娜,王杨,陈付龙,黄亚坤,邓琨 针对当前云计算的安全需求,提出了一种适用于云计算环境下的身份认证方案.首先设计出适用于云计算身份认证场景的移动agent结构模型,然后给出了基于mobileagent的云计算安全认证策略.该方案引入了可信第三方机构对认证agent建立定量信任评估,每次进行认证前通过信任度的判断对认证过程进行控制:在认证完成后,又进一步引入了信任反馈评价机制.理论分析和原型系统的实现表明,提出的云计算认证方案具有一定的可行性和可用性.

云存储多数据中心QoS保障机制研究

云存储多数据中心QoS保障机制研究 江苏大学 夏纯中 本文分析了云存储多数据中心间网络链路带宽利用不均衡的问题,提出了一种面向QOS的多数据中心间网络流量调度模型.模型的优化目标是保证不同QoS级别数据传输的性能需求,并使数据中心间网络链路带宽资源利用率最大化.本文结合云存储多数据中心层次化管理特点,提出了一种基于双层多粒子群的网络流量调度算法.该算法具有更快的收敛速度.避免了传统算法极易陷入局部最优值问题.仿真结果表明,本算法可以提升云存储多数据中心间网络链路带宽的利用率,并且保障高QoS优先

云计算客户虚拟机间的安全机制研究与实现

云计算客户虚拟机间的安全机制研究与实现 乔然 胡俊 荣星 云计算提供的弹性服务依赖于虚拟化技术的支持,然而虚拟化技术存在的安全问题也严重威胁着云计算的安全.针对目前云计算虚拟化技术中客户机操作系统面临的安全风险,在分析云计算虚拟化技术需求及特点的基础上,设计适用于云计算环境的集中管理.分布式实施的强制访问控制以及基于云资源控制的隔离机制,使其相互配合.保证云计算中客户机操作系统的安全,并在使用XEN作为虚拟化软件的OPENSTACK平台上实现这些安全机制.实验结果表明,该安全机制能够较好地防护针

大数据时代科研信息管理与决策机制研究

大数据时代科研信息管理与决策机制研究 辽宁省科学技术情报研究所 王笑 数字化浪潮席卷了全球,已经改变了传统信息传播途径.科研院所作为科学理论研究的先锋.信息资源的富集地,理应与时俱进,积极求变,通过开展信息资源的数字化建设提高资源的利用率加强交流和共享,更好更快地推动文化和科技的发展.本文从科研院所信息资源数字化的必要性.数字化平台建设的基本步骤,探讨了目前科研院所信息资源数字化建设可能存在的几点问题. 大数据时代科研信息管理与决策机制研究

基于车联云的协调点选择机制研究

基于车联云的协调点选择机制研究 内蒙古大学 马晋国 本文分析了车联云的国内外研究现状,结合云计算和VANET的主要技术特点,提出一种车联云协调点的选择机制,从而在自治车联云环境下实现车辆资源问的聚合和分配,达成像云计算的集群控制器一样能够有效管理和分配计算机资源的目标.车联云协调节点的选择机制包含两部分内容:(1)以节点的计算能力.存储能力.网络能力和生存时间确定协调点的选择标准,并通过协调点的选择标准有效选择协调点;(2)基于协调点选择协议实现局部动态分簇,协调点进行簇内资源聚合. 本文采用O

一种基于NoSQL的并行数据增量处理机制研究

一种基于NoSQL的并行数据增量处理机制研究 华中科技大学  刘炜 云计算为数据处理工作带来了新的机遇与挑战.传统的关系型数据库在大数据的需求面前显得力不从心,而分布式非关系型数据库由于其高可靠性.高可用性的特性,能够满足大数据带来的高并发.高读写需求.然而,分布式非关系型数据库优越的性能是以牺牲SQL数据处理能力为代价的.因此,提高非关系型数据库的数据处理能力就成为一个重要的研究课题.非关系型数据库数据处理能力可以从离线数据处理和在线数据处理两个方面进行提高.在离线数据处理方面,将开源MapR

云存储多级元数据QoS保证机制研究

云存储多级元数据QoS保证机制研究 杨志勇   李春林 在主从架构的云存储系统中,所有的数据访问都需要经过元数据服务器,在访问激增的情况下,元数据服务器可能成为系统的瓶颈.当前大多数云存储系统采用的是FIFO的调度策略,当服务拥塞时无法保证服务质量,为了保证优质客户的服务质量,本文通过拥塞接纳控制和队列调度技术来进行QoS区分,以优先级为依据,限制低优先级的访问请求进入服务队列,避免拥塞:以EDF调度策略为基础设置滑动窗口,在兼顾公平的基础上,优先调度窗口内高优先级请求,确保高优先级请求的服务质