Задачи, Статьи, Недельный Python Дайджест, FAQ, Курсы по Python, Видео-уроки, Скринкасты
django-ipware - определяем IP пользователя
Для повышения безопасности аккаунтов пользователей можно применять много способов, например, капча, двухфакторная авторизация, сложные длинные пароли, привязка к IP-адресу.
Наверное, вы сталкивались с письмами от google, с содержанием аля "В ваш аккаунт зашли с IP-адреса <такого-то>, что делать?". Чтобы реализовать такую логику необходимо записывать историю входов и ip-адрес.
Для django есть небольшой модуль - django-ipware, который самостоятельно разбирает HTTP(s) запрос. Модуль вычитывает необходимые поля запроса и возвращает адрес пользователя.
Примеры:
from ipware.ip import get_real_ip ip = get_real_ip(request) if ip is not None: # we have a real, public ip address for user else: # we don't have a real, public ip address for user from ipware.ip import get_ip ip = get_ip(request) if ip is not None: # we have an ip address for user else: # we don't have an ip address for user from ipware.ip import get_ip ip = get_ip(request, right_most_proxy=True) # OR ip = get_real_ip(request, right_most_proxy=True)
Репозиторий модуля: https://github.com/un33k/django-ipware
Комментарии