Дать доступ у кого есть куки

lutskboy
На сайте с 22.11.2013
Offline
173
573

Привет

задача такая. как в nginx задать правило. 

если это не гугл и не яндекс и у юзера нет куки hits то отдаем ему страницу например /auth.html

google yandex проверять по ip

5.45.192.0/18
5.255.192.0/18
................
66.249.72.96/27
66.249.73.0/27
66.249.73.128/27
66.249.73.160/27


damn-doubleclick
На сайте с 10.09.2021
Offline
41
#1

Слабо скачать готовые репозиторий ChatGPT-4 с доступом в интернет на свой ПК?

***

Чтобы реализовать то, что вы описали, вам нужно настроить файл конфигурации Nginx с использованием директив if и geo .

Сначала нужно задать IP-адреса для Google и Yandex с помощью директивы geo . Затем с помощью директивы if проверяем наличие куки hits и в случае ее отсутствия редиректим на страницу /auth.html.

Важно отметить, что использование блоков if в Nginx может быть сложным и потенциально привести к неожиданному поведению, поскольку они работают не так, как в большинстве программных языков.

geo $is_bot {
    default 0;

    # Yandex
    5.45.192.0/18 1;
    5.255.192.0/18 1;

    # Google
    66.249.72.96/27 1;
    66.249.73.0/27 1;
    66.249.73.128/27 1;
    66.249.73.160/27 1;
    # Добавьте здесь остальные IP-адреса
}

map $cookie_hits $has_hits {
    "" 0;
    default 1;
}

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        if ($is_bot = 0) {
            if ($has_hits = 0) {
                rewrite ^ /auth.html last;
            }
        }

        # ... здесь ваши остальные конфигурации ...
    }
}
Лучший хостер с адекватными сис. админами: https://clck.ru/35zGfN

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий