SESSION_COOKIE_SECURE = True в Django 2.2 перенаправляет вход администратора к себе - PullRequest
2 голосов
/ 03 июня 2019

У меня есть простой проект django 2.2, который я пытаюсь опубликовать. Я пытаюсь защитить сайт как можно лучше. Один из вариантов - SESSION_COOKIE_SECURE. При значении True мои страницы администратора просто не будут работать. Когда я зайду на страницу / admin, я увижу логин. Ввод правильного логина и пароля просто возвращает меня на ту же страницу. Если я введу неверный логин и пароль, появится сообщение об ошибке. Итак, я знаю, что использовал правильный пароль. В настройках моего администратора нет ничего особенного. Это просто в urls.py в папке проекта

urlpatterns = [
    path('admin/', admin.site.urls), ...

Конечно, если я установлю SESSION_COOKIE_SECURE в False, страницы администратора будут работать. Я попытался установить SESSION_COOKIE_DOMAIN для моего домена, и это не помогает. Что мне не хватает? Спасибо.

РЕДАКТИРОВАТЬ: я только что попробовал следующий набор опций на основе документов Django, но я не получаю его работать.

SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True

ДРУГОЕ РЕДАКТИРОВАНИЕ: Таким образом, вышеприведенное работает в Production (с HTTPS), но не в Development. Это хорошо, но и в некоторой степени беспокоит. Мы хотим, чтобы наша среда производства и разработки была как можно ближе, чтобы можно было протестировать функции и материал. Интересно, что лучше всего делать, когда дело доходит до тестирования этих проблемных настроек Django.

1 Ответ

0 голосов
/ 03 июня 2019

Собственно, работает следующее.

SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True

Это просто тестирование в моей среде разработки, HTTPS недоступен.

...