@artempawww

Как можно реализовать бан по устройству во flask?

Хотелось бы реализовать бан по "железу" во фласке, как это можно реализовать? Есть примеры? Сам додумался только до бана по айпишнику -- сверять закрипченный в базе с закрипченным сейчас и проверять значение banned.
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
drygdryg
@drygdryg
Python-разработчик
Если ваше приложение имеет фронтенд, который предназначен для запуска в веб-браузере, то лучше делайте отпечатки клиентов на стороне фронтенда средствами JavaScript, затем отправляйте их на бэкенд. Поищите информацию про способы снятия отпечатков браузера (browser fingerprinting) в сети. Обратите внимание на библиотеку FingerprintJS.

Если нет возможности запускать JavaScript в браузере клиента либо вообще веб-сервис ориентирован не на браузер, то можно использовать различные техники снятия отпечатков на бэкенде. Для их реализации, скорее всего, потребуются техники низкоуровневого сетевого программирования (чтение необработанных заголовков HTTP-запроса и др.), возможно, выходящие за рамки стандартный возможностей Flask. Некоторые материалы по теме:
https://lwthiker.com/networks/2022/06/17/http2-fin...
https://github.com/CERT-Polska/hfinger

Идентификация по IP-адресу — не очень надёжный способ, т.к. в сети может присутствовать множество клиентов с одним и тем же внешним IP-адресом (к примеру, если у интернет-провайдера используется NAT, либо в публичных сетях Wi-Fi).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы