PHP实现自动刷数和“灌水”机

时间:2010-01-14 09:53:37   来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:.Net   点击数:   <script language=’javascript’ src=’/Article/GetHits.asp?ArticleID=759’></script>   更新时间:2005-5-27</SPAN>   </div>        点击数后面是一个asp文件去处理的,那么我打开这个文件看看:      document.wr...
  正文:

今天无意间看到一个网站,它的计数器能够在静态页里更新,我想,应该是使用js来做的,打开源代码一看,果然是:
  
  <div align=center><SPAN class=Article_tdbgall>
  作者:未知 文章来源:Meidi.Net
  点击数:
  <script language=’JavaScript’ src=’/Article/GetHits.ASP/ target=_blank class=infotextkey>asp?ArticleID=759’></script>
  更新时间:2005-5-27</SPAN>
  </div>
  
    点击数后面是一个asp文件去处理的,那么我打开这个文件看看:
  
  document.write(’210’);
  
    是吧,就是GetHists.asp文件处理ArticleID后提取结果后输出次数:document.write(’次数’),再静态页里就能够直接引用了。
  
    坏人终究是坏人,那么我就想,如何能够迅速提升点击数呢?手工刷新的话不是很类,恩,赶紧写个PHP程序来自动的去访问这个文件。
  
    PHP代码如下:
  
  <?php
  /* access_url.php */
  define(SUM, 1000); //需要访问的次数
  define(L_TIME, 1000); //强制脚本执行的时间
  define(2005-10-4, 1); //每次访问之间休眠的时间
  $url = "http://www.xxx.com/Article/GetHits.asp?ArticleID=759"; //需要访问的地址
  set_time_limit(L_TIME);
  
  //访问指定URL函数knowsky.com
  function access_url($url)
  {
   if ($url==’’) return false;
   $fp = fopen($url, ’r’) or exit(’Open url faild!’);
   if ($fp) {
    while (!feof($fp)) {
     $file = fgets($fp);
     echo $file."n<p> </p>n";
    }
    unset($file);
   }
  }
  
  //进行测试
  for ($i=0; $i<SUM; $i++) {
   access_url($url);
   sleep(2005-10-4);
  }
  ?>
  
    运行上面的程序,那么就会连续访问指定的URL地址,那么自然这个访问次数就会连续增加,达到灌水的效果。如果是流量大,而且用多程序去运行的话,那么很容易就会达到拒绝服务(DoS)的效果了。如果对方的防范措施,把代码修改一下针对论坛进行提交,很容易实现论坛灌水的效果。
  
    防范方法:
  
    1. 代码中使用Session机制,当用户提交的时候生成一个Session ID,提交内容的时候判断是否已经提交,如果已提交那么就不允许刷。
  
    2. 当用户提交以后记录用户的IP地址,如果指定时间内再提交的话就不允许再提交。
  
    3. 当用户提交内容以后,在用户客户端写入Cookie,如果用户再次提交先检查客户端是否有Cookie来确定是否允许提交。
  
    还有很多其他方法,可以去搜索一下,或者发挥自己的想象力,做的更好。


来源:http://www.002pc.com/master/College/Programming/PHP/11851.html

收藏到:

关于《PHP实现自动刷数和“灌水”机》文章的评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

随机文章

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by rand() limit 10

顶出来的热门

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by diggtop desc,id desc limit 10
站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td