防止扫描器扫描攻击方法

第一部分:识别爬虫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>";
}
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容