Блокировка трафика на стороне NGINX по разрешению экрана

Chiaroscuro
На сайте с 27.12.2006
Offline
134
177

Общий привет, интересует возможность блокировка трафика по разрешению экрана посетителя на стороне серевера, не js.

Пример блокировка всего трафика посетителей с шириной экрана меньше 500.

W1
На сайте с 22.01.2021
Offline
286
#1
Чтобы сервер увидел ширину экрана, клиент должен передать её на сервер.
Chiaroscuro :
не js
Где "не  js"? На клиенте без него проблематично работать.
Мой форум - https://webinfo.guru –Там я всегда на связи
Chiaroscuro
На сайте с 27.12.2006
Offline
134
#2
webinfo #:
Чтобы сервер увидел ширину экрана, клиент должен передать её на сервер.

Ищу какие нибудь наработки на этот счет. Кроме JS есть способ блокировки?

W1
На сайте с 22.01.2021
Offline
286
#3
Chiaroscuro #:
Ищу какие нибудь наработки на этот счет.

Запрос AJAX из браузера, потом обработка запроса на сервере.

Chiaroscuro #:
Кроме JS есть способ блокировки?

JS вообще ничего не блокирует, он только формирует запрос на сервер.

Chiaroscuro
На сайте с 27.12.2006
Offline
134
#4
webinfo #:

Запрос AJAX из браузера, потом обработка запроса на сервере.

JS вообще ничего не блокирует, он только формирует запрос на сервер.

js скрипты на сайте блокирует клиент-посетитель, на сервере нет данных  от посетителя и он проходит на сайт на страницу идентификации пользователя.
W1
На сайте с 22.01.2021
Offline
286
#5
Chiaroscuro #:
js скрипты на сайте блокирует клиент-посетитель, на сервере нет данных  от посетителя и он проходит на сайт на страницу идентификации пользователя.

Ну так сделайте так, что если нет данных, то идентификация невозможна.
А так-то клиент в принципе может сформировать любые пользовательские данные. Просто сложность разная при разном составе денных.
Но в данном случае едва ли кто-то будет специально заморачиваться, чтобы просто посмотреть страницу идентификации.

LS
На сайте с 11.01.2004
Offline
163
#6
http {
    map $http_user_agent $screen_width {
        default "";
        ~*mobile.*\b(\d{3,4})x  $1;
        ~*android.*\b(\d{3,4})x  $1;
        ~*blackberry.*\b(\d{3,4})x  $1;
        ~*ip(hone|od).*\b(\d{3,4})x  $1;
        ~*opera.*\b(\d{3,4})x  $1;
        ~*palm.*\b(\d{3,4})x  $1;
        ~*windows.*\b(\d{3,4})x  $1;
    }

    server {
        ...

        if ($screen_width < 500) {
            return 444;
        }

        ...
    }
}

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