防止扫描器扫描攻击方法

2019-04-27  本文已影响0人  夏夜星语

第一部分:识别爬虫IP,给爬虫设置障碍;

一、从发现爬虫IP角度:

  1. 设置页面隐藏链接:
    1. 正常用户不会点击,因为看不到
    2. 爬虫会爬到,这个时候后台对爬虫IP进行记录,封禁
  2. 设置特殊cookie, 通过set-cookie 设置特殊cookie
    1. 正常客户端会在request上带上
    2. 爬虫一般不会
  3. 利用访问日志识别扫描器的IP
    1. 人的访问频率低,且不同URL之间间隔时间随机
    2. 机器爬虫的访问频率均匀,即不同URL之间访问间隔时间方差小

二、从设置爬虫陷阱来防御

  1. 设置大文件陷阱,消耗爬虫网络IO。
<?php
  $max = 4000000000;
for($i = 0; $i < $max; i++){
  echo "JustForYou";
}
//10Byte*4000000000=4MB
?>
  1. 设置大量无效URL,恶意填充爬虫的爬行队列
<?php
function get_rand_string($len){
  $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
 for ($i =0; $str = '', $lc=strlen($chars) -1; $i < $len; $i++){
  $str .= $chars[rand(0, $lc)];
}
return $str;
}

$max = 5000;
for ($i=0; $i<$max; $i++){
  echo "<a href=\"".get_rand_string(6)."\".html> JustforYou</a>";
}
?>
上一篇 下一篇

猜你喜欢

热点阅读