From 17ebb1d4837ca5b50b1cd0b316e37eb8956a1c81 Mon Sep 17 00:00:00 2001 From: erjemin Date: Tue, 19 Dec 2023 16:16:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=BE=20User-Agent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +++ nginx/nginx-ban-user-agent.md | 47 +++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 nginx/nginx-ban-user-agent.md diff --git a/README.md b/README.md index e91b815..52e7cdc 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,6 @@ ## Raspberry Pi / Orange Pi * [Установка Docker и Docker Compose](raspberry-pi/install-docker-compose.md) * [Резервное копирование и восстановление](raspberry-pi/backup-restore.md) + +## Nginx / Apache +* [Ограничение доступа по User-Agent (на примере GPTBot)](nginx/nginx-ban-user-agent.md) \ No newline at end of file diff --git a/nginx/nginx-ban-user-agent.md b/nginx/nginx-ban-user-agent.md new file mode 100644 index 0000000..e213ea8 --- /dev/null +++ b/nginx/nginx-ban-user-agent.md @@ -0,0 +1,47 @@ +# Ограничение доступа по User-Agent (на примере GPTBot) + +GPTBot – это поисковой бот компании OpenAI (GPTchat, Dall-E и т.п.), который сканирует веб-страницы +с целью обучения моделей машинного обучения и использует инфраструктуру Microsoft. + +Есть миф (а может и правда), что сбор информации GPTBot с сайта может облегчить создание фейков со +стороны злоумышленников, и потому сканирование GPTBot-у надо ограничить. + +## Ограничения доступа файл robots.txt: + +Добавить в файл robots.txt следующие строки: +```robots.txt +User-agent: GPTBot +Disallow: / +``` + +## Ограничение доступа на веб-сервере Apache: + +Пример настройки для веб-сервера Apache через файлы конфигурации .htaccess: +```apache configuration + + RewriteEngine On + RewriteCond %{HTTP_USER_AGENT} ^GPTBot [NC] + RewriteRule ^ - [F,L] + +``` + +Этот код проверяет, начинается ли User-Agent с "**GPTBot**" (без учета регистра), и если это так, +то правило _RewriteRule_ отправляет запросу статус `403 (Forbidden)`, что означает запрет доступа `(F)` +и прекращает дальнейшее выполнение правил `(L)`. + +## Ограничение доступа на веб-сервере Nginx: +Пример настройки для веб-сервера Nginx через файлы конфигурации: +```nginx configuration +server { + # ... другие настройки сервера ... + + if ($http_user_agent ~* "GPTBot") { + return 403; + } + # ... другие настройки сервера ... +} +``` + +Этот конфигурационный файл проверяет, содержится ли идентификатор "**GPTBot**" в заголовке User-Agent +(без учета регистра), и если это так, возвращает статус `403 (Forbidden)`, что означает запрет доступа. +