概述
caddy 有个http.nobots nobots保护你的网站免受网络爬虫和机器人,可以给采集的恶意程序返回特定的数据。caddy 有个http.nobots
nobots保护你的网站免受网络爬虫和机器人,可以给采集的恶意程序返回特定的数据。
比如实际1G压缩成1M大小的gzip文件(炸弹),对于服务器的话就是发送了1M的文件,恶意程序请求后会自动解包为1G的数据,可以对恶意程序造成很大的压力。
类如PHP返回炸弹
<?PHP header('content-encoding: gzip'); echo file_get_contents('1G.gzip');
如何制造炸弹
dd if=/dev/zero bs=1M count=1024 | gzip > 1G.gzip dd if=/dev/zero bs=1M count=10240 | gzip > 10G.gzip dd if=/dev/zero bs=1M count=1048576 | gzip > 1T.gzip
炸弹(1G.gzip)和PHP(bomb.PHP)文件放在同一个目录下
Nginx添加配置
location / { #UA BOMB if ($http_user_agent ~* "(zhadan|bomb)") { rewrite ^/.* /bomb.PHP last; } }
修改(zhadan|bomb)为恶意UA列表
如果本身已经有伪静态配置了,也就是有location / {的配置了,就添加进去就行了。
只需要下面这些
#UA BOMB if ($http_user_agent ~* "(zhadan|bomb)") { rewrite ^/.* /bomb.PHP last; }
当然你也可以返回410
直接在Nginx的location模块中添加if判断header,返回410错误
if ($http_user_agent ~* (SemrushBot|Semrush) ) { return 410; }
总结
以上是编程之家为你收集整理的Nginx通过判断User-Agent禁止爬虫采集并返回炸弹全部内容,希望文章能够帮你解决Nginx通过判断User-Agent禁止爬虫采集并返回炸弹所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。