快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

  今天无意间看到一个网站,它的计数器能够在静态页里更新,我想,应该是使用js来做的,打开源代码一看,果然是:

<div align=center><SPAN class=Article_tdbgall>
作者:未知 文章来源:Meidi.Net
点击数:
<script language=’javascript’ src=’/Article/GetHits.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(S_TIME, 1); //每次访问之间休眠的时间
$url = http://www.xxx.com/Article/GetHits.asp?ArticleID=759; //需要访问的地址
set_time_limit(L_TIME);

//访问指定URL函数
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(S_TIME);
}
?>

  运行上面的程序,那么就会连续访问指定的URL地址,那么自然这个访问次数就会连续增加,达到灌水的效果。假如是流量大,而且用多程序去运行的话,那么很轻易就会达到拒绝服务(DoS)的效果了。假如对方的防范措施,把代码修改一下针对论坛进行提交,很轻易实现论坛灌水的效果。

  防范方式:

  1. 代码中使用Session机制,当用户提交的时候生成一个Session ID,提交内容的时候判定是否已经提交,假如已提交那么就不答应刷。

  2. 当用户提交以后记录用户的IP地址,假如指定时间内再提交的话就不答应再提交。

  3. 当用户提交内容以后,在用户客户端写入Cookie,假如用户再次提交先检查客户端是否有Cookie来确定是否答应提交。

  还有很多其他方式,可以去搜索一下,或者发挥自己的想象力,做的更好。


返回类别: 教程
上一教程: 初学者熟悉PHP
下一教程: 留言板翻页的实现详解

您可以阅读与"PHP实现自动刷数和“灌水”机"相关的教程:
· 用PHP+java实现自动新闻滚动窗口
· PHP实现发表文章时自动保存图片
· PHP中实现大图自动缩成小图(及GD库的安装)
· PHP实现网页自动更新块
· PHP实现分页的一个示例
    微笑服务 优质保证 索取样品