мета-данные страницы
  •  

Это старая версия документа!


Константы

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

Имя Значение по умолчанию Описание
VARIABLE_PREFIX ru.a0fs.app Префикс переменных и иных элементов, которые сохраняются во внутренних структурах bottle
IP_HEADER X-Real-IP
REQ_ID_HEADER X-Request-Id Заголовок запроса, в котором реверс-прокси хранит уникальный ID запроса. Данные ID полезны для мультисерверной инфраструктуры балансировки с единой точкой хранения журналов. Nginx даёт достаточно уникальный ID для трассировки запроса в журналах приложения. Выставляется этот ID через параметр конфигурации
proxy_set_header X-Request-Id $request_id;
CONN_ID_HEADER X-Conn-ID Идентификатор текущего соединения. Легковесный способ идентифицировать запрос. Добавляется на стороне nginx через:
proxy_set_header X-Conn-ID $connection-$connection_requests;

Функции и процедуры

get_client_ip()

Получение реального адреса клиента.

Пытается получить адрес клиента из специальной переменной реверс-прокси. В случае неудачи, берёт IP узла, откуда пришёл запрос.

Проверки на установку IP доверенным источником не производится. Поскольку приложения не выставляются наружу без прикрытия nginx, который можно соответственно настроить, это не считается проблемой.

get_client_ip([request])

Возвращает: Строку с IP клиента.

Параметр Тип По умолчанию Описание
request bottle.BaseRequest bottle.request Объект запроса, из которого добываются нужные сведения

get_session_fingerprint()

Конструируем некий отпечаток пользовательской сессии.

В качестве параметра принимается всё, что должно участвовать в создании отпечатка. Это всё превращается в строку и подмешивается в хэш. То есть функции можно передать всё, что необходимо для идентификации сессии, и что в состоянии дать значимую строку (при преобразовании str() это должно быть что-то получше чем имя класса и спецсимволы)