Ограничение доступа по User-Agent
This commit is contained in:
parent
caaf315d9d
commit
17ebb1d483
@ -13,3 +13,6 @@
|
|||||||
## Raspberry Pi / Orange Pi
|
## Raspberry Pi / Orange Pi
|
||||||
* [Установка Docker и Docker Compose](raspberry-pi/install-docker-compose.md)
|
* [Установка Docker и Docker Compose](raspberry-pi/install-docker-compose.md)
|
||||||
* [Резервное копирование и восстановление](raspberry-pi/backup-restore.md)
|
* [Резервное копирование и восстановление](raspberry-pi/backup-restore.md)
|
||||||
|
|
||||||
|
## Nginx / Apache
|
||||||
|
* [Ограничение доступа по User-Agent (на примере GPTBot)](nginx/nginx-ban-user-agent.md)
|
47
nginx/nginx-ban-user-agent.md
Normal file
47
nginx/nginx-ban-user-agent.md
Normal file
@ -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
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteCond %{HTTP_USER_AGENT} ^GPTBot [NC]
|
||||||
|
RewriteRule ^ - [F,L]
|
||||||
|
</IfModule>
|
||||||
|
```
|
||||||
|
|
||||||
|
Этот код проверяет, начинается ли 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)`, что означает запрет доступа.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user