TypechoJoeTheme

尘遇 logo

当我遇上你
排行榜
统计

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

醉书生站长
2021年07月08日
2 评论
879 阅读
检测收录...
07/08
本文最后更新于2022年07月11日,已超过87天没有更新,若内容或图片失效,请留言反馈。

防止采集,可以直接禁了垃圾bot, 发现caddy有个http.nobots,nobots保护你的网站免受网络爬虫和机器人。
可以给采集的恶意程序返回特定的数据。

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

可以直接给特定UA返回一个炸弹。

用php返回炸弹

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

<?php
header('Content-Encoding: gzip');
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添加配置

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

修改(zhadan|bomb)为恶意UA列表
修改/bomb.php为你的炸弹php路径

如果本身已经有伪静态配置了,也就是有location / {的配置了,就添加进去就行了。
只需要下面这些

  #UA BOMB
  if ($http_user_agent ~* "(zhadan|bomb)") {
    rewrite ^/.*  /bomb.php last;
  }
本文共258个字数,您已阅读:平均阅读时长≈1分钟。
安全nginx
朗读
点赞 2
赞赏
海报
欢迎
要时间嘉许,等春风得意,我正好遇上你!

微信/QQ/支付宝三合一收款码

微信
QQ
支付宝
打开微信/QQ/支付宝扫一扫,即可进行扫码打赏!
版权属于:

尘遇

最后修改:

2022 年 07 月 11 日 08 : 16 AM

本文链接:

https://chenyu.me/1427.html(转载时请注明本文出处及文章链接)

已有 2 条评论
  1. 陶小桃Blog秀才 作者
    中国陕西省 · Android · Google Chrome
    沙发

    过来看看,感觉有点秀儿

    2022-07-10 19:09 回复
  2. 晚秋夕巷秀才 作者
    中国上海市 · Windows X64 · Safari
    板凳

    好残忍

    2021-07-11 21:54 回复
那年今日

光阴者,百代之过客

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 七月秀才
    2022-10-05
  2. 七月秀才
    2022-10-05
  3. 七月秀才
    2022-10-04
  4. 七月秀才
    2022-10-04
  5. 七月秀才
    2022-10-04