antifroud_check
This commit is contained in:
@@ -4,30 +4,40 @@ from hotels.models import Reservation
|
||||
|
||||
|
||||
class UserActivityLog(models.Model):
|
||||
external_id = models.CharField(max_length=255, null=True, blank=True)
|
||||
user_id = models.BigIntegerField(verbose_name="ID пользователя")
|
||||
ip = models.GenericIPAddressField(verbose_name="IP-адрес")
|
||||
created = models.DateTimeField(verbose_name="Дата создания")
|
||||
timestamp = models.BigIntegerField(verbose_name="Метка времени")
|
||||
date_time = models.DateTimeField(verbose_name="Дата и время")
|
||||
external_id = models.CharField(max_length=255, unique=True, verbose_name="Внешний ID", db_index=True)
|
||||
user_id = models.BigIntegerField(verbose_name="ID пользователя", blank=True, null=True, db_index=True)
|
||||
ip = models.GenericIPAddressField(verbose_name="IP-адрес", blank=True, null=True, db_index=True)
|
||||
created = models.DateTimeField(verbose_name="Дата создания", blank=True, null=True, db_index=True)
|
||||
timestamp = models.BigIntegerField(verbose_name="Метка времени", blank=True, null=True)
|
||||
date_time = models.DateTimeField(verbose_name="Дата и время", blank=True, null=True)
|
||||
referred = models.TextField(blank=True, null=True, verbose_name="Реферальная ссылка")
|
||||
agent = models.TextField(verbose_name="Агент пользователя")
|
||||
agent = models.TextField(verbose_name="Агент пользователя", blank=True, null=True)
|
||||
platform = models.CharField(max_length=255, blank=True, null=True, verbose_name="Платформа")
|
||||
version = models.CharField(max_length=255, blank=True, null=True, verbose_name="Версия")
|
||||
model = models.CharField(max_length=255, blank=True, null=True, verbose_name="Модель устройства")
|
||||
device = models.CharField(max_length=255, blank=True, null=True, verbose_name="Тип устройства")
|
||||
UAString = models.TextField(verbose_name="User-Agent строка")
|
||||
UAString = models.TextField(verbose_name="User-Agent строка", blank=True, null=True)
|
||||
location = models.CharField(max_length=255, blank=True, null=True, verbose_name="Местоположение")
|
||||
page_id = models.BigIntegerField(blank=True, null=True, verbose_name="ID страницы")
|
||||
page_id = models.BigIntegerField(blank=True, null=True, verbose_name="ID страницы", db_index=True)
|
||||
url_parameters = models.TextField(blank=True, null=True, verbose_name="Параметры URL")
|
||||
page_title = models.TextField(blank=True, null=True, verbose_name="Заголовок страницы")
|
||||
type = models.CharField(max_length=50, verbose_name="Тип")
|
||||
last_counter = models.IntegerField(verbose_name="Последний счетчик")
|
||||
hits = models.IntegerField(verbose_name="Количество обращений")
|
||||
honeypot = models.BooleanField(verbose_name="Метка honeypot")
|
||||
reply = models.BooleanField(verbose_name="Ответ пользователя")
|
||||
type = models.CharField(max_length=50, verbose_name="Тип", blank=True, null=True)
|
||||
last_counter = models.IntegerField(verbose_name="Последний счетчик", blank=True, null=True)
|
||||
hits = models.IntegerField(verbose_name="Количество обращений", blank=True, null=True)
|
||||
honeypot = models.BooleanField(verbose_name="Метка honeypot", blank=True, null=True)
|
||||
reply = models.BooleanField(verbose_name="Ответ пользователя", blank=True, null=True)
|
||||
page_url = models.URLField(blank=True, null=True, verbose_name="URL страницы")
|
||||
|
||||
class Meta:
|
||||
indexes = [
|
||||
models.Index(fields=["external_id"], name="idx_external_id"),
|
||||
models.Index(fields=["user_id"], name="idx_user_id"),
|
||||
models.Index(fields=["ip"], name="idx_ip"),
|
||||
models.Index(fields=["created"], name="idx_created"),
|
||||
models.Index(fields=["page_id"], name="idx_page_id"),
|
||||
]
|
||||
verbose_name = "Лог активности пользователя"
|
||||
verbose_name_plural = "Логи активности пользователей"
|
||||
def __str__(self):
|
||||
return f"UserActivityLog {self.id}: {self.page_title}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user