Ip banned
Таблица ip_banned
Таблица ip_banned из базы данных auth хранит список забаненных IP-адресов и параметры блокировки: когда бан выдан, когда должен закончиться, кем выдан и по какой причине. Первичный ключ составной (ip, bandate), чтобы хранить историю банов одного и того же IP.
Структура таблицы
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| ip | varchar(64) | CHARACTER SET utf8mb4, COLLATE utf8mb4_unicode_ci | PRIMARY (ip, bandate) | NO | '127.0.0.1' | |
| bandate | int | UNSIGNED | PRIMARY (ip, bandate) | NO | ||
| unbandate | int | UNSIGNED | NO | |||
| bannedby | varchar(50) | CHARACTER SET utf8mb4, COLLATE utf8mb4_unicode_ci | NO | '[Console]' | ||
| banreason | varchar(255) | CHARACTER SET utf8mb4, COLLATE utf8mb4_unicode_ci | NO | 'no reason' |
ip
IP-адрес (строкой), к которому относится бан. Формат зависит от реализации (IPv4/IPv6). Входит в состав первичного ключа.
Пример: 203.0.113.25
bandate
Дата/время выдачи бана в формате целого числа (обычно Unix timestamp в секундах). Входит в состав первичного ключа.
Пример: 1700000000
unbandate
Дата/время окончания бана в формате целого числа (обычно Unix timestamp в секундах).
Важно (типовая логика): если `unbandate` равно `bandate`, такой бан считается перманентным (без автоматического снятия).
Пример: 1700000000
bannedby
Кто выдал бан (по умолчанию `[Console]`, если бан выдан из консоли/скрипта).
Пример: GM_Admin
banreason
Причина бана (по умолчанию `no reason`).
Пример: Abuse