屏蔽openai GPTBot爬虫的方法

栏目: EggJs 发布时间:2024-12-16

最近 openai 的 GPTBot 蜘蛛疯狂来访,一天请求 3 万次左右,着实恼火,那就把它屏蔽吧!

屏蔽 GPTBot 方法一

robots.txt 文件中加入如下内容:

User-agent: GPTBot
Disallow: /

屏蔽 GPTBot 方法二

匹配 GPTBot 的 User-Agent,然后返回 403 禁止访问。

GPTBot user-agent 示例如下:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)

eggjs 为例,创建拦截 GPTBot 请求的中间件 middleware/block-user-agent.js:

// middleware/block-user-agent.js
'use strict';
module.exports = () => {
  return async function blockUserAgent(ctx, next) {
    const userAgent = ctx.get('user-agent') || '';
    if (userAgent.includes('openai')) {
      // 设置响应状态码
      ctx.status = 403;
      // 设置响应体
      ctx.body = 'Forbidden';
      return;
    }
    // 如果不是特定的User-Agent,则继续下一个中间件
    await next();
  };
};

在 config/config.default.js 中配置:

middleware: [ 'blockUserAgent' ]

以上就是屏蔽 openai 的 GPTBot 的方法。

本文地址:https://www.tides.cn/p_eggjs-how-to-block-openai-gptbot