#django #django-admin
#django #django-admin
Вопрос:
CAPTHCA / дополнительное поле таблицы / разрешенные IP-адреса — не предлагать.
Я думаю, что лучший вариант: сохранить попытки входа в систему в кэше сервера.
Если вы можете предложить другие варианты или сократить опцию с помощью кэша, добро пожаловать.
Комментарии:
1. Самый простой известный мне способ предотвратить грубую силу на сайте администратора — это создать глупый URL-адрес администратора. Что-то вроде www.your-site.com/thisisatotallyhiddenadminurlthatmakesithardertofind
2. У этого метода есть недостатки: 1) он не удобен для пользователя 2) Chrome, IE, панели инструментов (например, панель инструментов яндекса) для FF отправляет информацию о посещенных сайтах в поисковую систему, поэтому при правильном поиске запрос
thisisatotallyhiddenadminurlthatmakesithardertofind
будет раскрыт.
Ответ №1:
Обычно я бы использовал параметр INTERNAL_IPS и создавал промежуточное программное обеспечение, которое блокирует доступ к /admin/, если вы не являетесь частью INTERNAL_IPS
Другой вариант — поиграть с https://github.com/dmpayton/django-admin-honeypot — потенциально вы могли бы написать задание cron, которое блокирует эти IP-адреса через iptables или что-то в этом роде.
Комментарии:
1. Как я уже говорил, разрешенные IP-адреса (INTERNAL_IPS) — плохая идея, потому что в админке есть доступ ко многим группам (копирайтеры, модераторы, переводчики и т.д.), И они могут иметь динамический ip. О
django-admin-honeypot
компании: скорее всего, атака произойдет с использованием прокси-сервера.2. Вы можете использовать INTERNAL_IPS и потребовать VPN.
3. есть ли способ заставить INTERNAL_IPS работать при использовании хостинга за обратным прокси? Как настройка gunicorn и Nginx
4. Ага. тогда вы ищете не REMOTE_ADDR, как правило, для меня, это X_FORWARDED_FOR . Вот как это выглядит для меня gist.github.com/6980d4a2e1bf7d1919c5
5. @cevter: О django-admin-honeypot: вы имеете в виду, что блокировка IP будет слишком строгой?