• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > ASP编程 >

网站投票作弊 说说网站投票作弊的技术(5)

来源: www.dedecms8.com 编辑:织梦吧 时间:2013-07-13点击:

  szBuffer[nLen]=0;

  CString strTemp=szBuffer; //CString虽然滥了些,但用着就是方便,嘿嘿~

  pFile->Close(); //数据读出来后把该关闭的东西都关掉

  pConnection->Close();

  delete pFile;

  delete pConnection;

  session.Close();

  //下面的代码就是用来分析HTML代码来得到你感兴趣的数据了,和投票没什么关系,就不详细解释了

  int nPos=strTemp.Find("选项A");

  int nTempPos=nPos;

  if(nPos==-1)

  {

  theApp.m_nThreads--;

  return 0;

  }

  nPos=strTemp.Find("table width=100>",nPos)+36;

  int nEndPos=strTemp.Find("票",nPos);

  m_nOurNum=atoi(strTemp.Mid(nPos,nEndPos-nPos));

  nPos=strTemp.Find("1");

  nPos=strTemp.Find("table width=100>",nPos)+36;

  nEndPos=strTemp.Find("票",nPos);

  m_nDiff=atoi(strTemp.Mid(nPos,nEndPos-nPos))-m_nOurNum;

  m_nVote++;

  }

  catch(...)

  {

  }

  theApp.m_nThreads--;

  return 0;

  }

  可以看到,关键代码就那么几行,如果不分析投票结果,比方法1少多了,而且看着也没方法1那么乱。不过这种方法同样存在方法1说的那个Session重复问题。而且据我尝试,新开启线程Session也是重复。所以我估计那个Session Key是根据Process ID决定的(一家之言,欢迎大家讨论)。不过如果你同时启动N个线程,着N个线程都可以成功的把票投进去,而不会说“您已经投过票了”。估计是因为这些信息是同时提交上去的,服务器在处理一条信息时还不知道这个Session其实已经投过票了。

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ