Блокировка по заголовку User-Agent через конфиг внутри сайта
Материал из 1GbWiki.
Поле User-Agent передают практически все HTTP клиенты, когда делают HTTP запрос к вашему сайту. Если некоторые из них нежелательны, можно что-то заблокировать.
Если вам пришело указание от ЦМУ ССОП, смотрите готовые списки ботов тут - Category:ЦМУ ССОП.
[править] На веб-сервере Apache
Такая блокировка есть в личном кабинете, на странице "Управление сайтами и серверами".
Но лучше блокировать через .htaccess и mod_rewrite, это просто гибче и проще управляется. Создайте в корне сайта файл .htaccess (если его еще нет) и дописывайте туда такие строчки,
1) напишите 1 раз в любом месте
RewriteEngine On
2) такой вариант -
RewriteCond %{HTTP_USER_AGENT} ^GPTBot [NC] RewriteRule ^ - [F,L]
- это заблокирует User-Agent который НАЧИНАЕТСЯ со слов GPTBot, без учета регистра. Повторяйте эти две строки столько раз, сколько нужно.
3) такой вариант -
RewriteCond %{HTTP_USER_AGENT} GPTBot [NC] RewriteRule ^ - [F,L]
- это заблокирует User-Agent который СОДЕРЖИТ слово GPTBot, без учета регистра. Повторяйте эти две строки столько раз, сколько нужно.
Обычно требуется этот вариант блокировки. Но точный вариант зависит от ваших целей.
[править] На веб-сервере IIS / .NET
Через личный кабинет такую блокировку сделать нельзя.
Добавьте следующий раздел в ваш файл web.config, в нужное место по смыслу, между секциями, которые уже там есть -
<configuration> <system.webServer> <rewrite> <rules> <rule name="RequestBlockingRuleUA1" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_USER_AGENT}" pattern="(.*)GPTBot(.*)" /> <add input="{HTTP_USER_AGENT}" pattern="(.*)ChatGPTBot(.*)" /> </conditions> <action type="AbortRequest" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
- это заблокирует User-Agent который СОДЕРЖИТ слова GPTBot или ChatGPTBot. Для уточнения синтаксиса смотрите инструкции по регулярным выражениям PERL.
Если хотите ошибку подробнее, то пишите там так -
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="Access Denied." />
Подробности тут на свой вкус.
[править] Смотрите также
- Блокировка доступа по полю USER AGENT - про раздел кабинета
- Category:ЦМУ ССОП