欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言

Nginx通过User-Agent禁止采集机器人并返回炸弹

linux sky995 1年前 (2021-04-17) 449次浏览 0个评论

刚刚看到一篇帖子,https://hostloc.com/thread-831697-1-1.html

Caddy有个http.nobots

可以给采集的恶意程序返回特定的数据

比如实际1G压缩成1M大小的gzip文件(炸弹),对于服务器的话就是发送了1M的文件,恶意程序请求后会自动解包为1G的数据,可以对恶意程序造成很大的压力。

用php返回炸弹

将下面的代码写到网站目录下一个新的php文件,比如bomb.php

  1. <?php
  2. header('Content-Encoding: gzip');
  3. echo file_get_contents('1G.gzip');

如何制造炸弹

插件中未提供炸弹,因此您必须创建一个炸弹。在Linux中,这确实很容易,您可以使用以下命令。

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添加配置

  1. location / {
  2. #UA BOMB
  3. if ($http_user_agent ~* "(zhadan|bomb)") {
  4. rewrite ^/.* /bomb.php last;
  5. }
  6. }

修改(zhadan|bomb)为恶意UA列表

修改/bomb.php为你的炸弹php路径

如果本身已经有伪静态配置了,也就是有location / {的配置了,就添加进去就行了。

只需要下面这些

  1. #UA BOMB
  2. if ($http_user_agent ~* "(zhadan|bomb)") {
  3. rewrite ^/.* /bomb.php last;
  4. }

好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Nginx通过User-Agent禁止采集机器人并返回炸弹
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址