Django Повар сеанса ie & Apache Перезапустить недействительные файлы cookie? - PullRequest
0 голосов
/ 21 февраля 2020

My django приложение работает без проблем с одним странным предупреждением.

Наши настройки по сути основаны c, из коробки настроек ничего особенного.

В наших настройках мы недавно добавили следующую настройку: SESSION_EXPIRE_AT_BROWSER_CLOSE (установить на True)

Однако мы заметили что-то странное, и я не уверен, что это делает Apache или Django - так что я ' Я нуждаюсь в некоторой помощи.

Если я открою браузер fre sh, который раньше никогда не был на сайте - я могу войти в систему администратора. Не беспокойтесь (пока).

Я вижу, что браузер получает и устанавливает sessionid cook ie (для моего примера мы скажем, что значение этого cook ie равно foo). Я вижу, что в таблицу django_session добавлен повар ie. Срок действия истекает на 2 недели (поведение по умолчанию).

Если я перезапущу Apache и произнесу полную ссылку sh в браузере, я больше не смогу получить доступ к URL /admin, пока я не удалю sessionid cook ie в браузере. Я могу получить доступ к веб-интерфейсу сайта, и он распознает, что я вошел в систему раньше, и он работает, как и ожидалось, - но я больше не могу войти в администратор.

Мои вопросы следующие:

  • Всегда ли перезапускает Apache, автоматически делает недействительными существующие sessionid куки-файлы для Django?

  • Есть ли в Apache настройки для предотвращения это происходит?

  • Есть ли проблемы безопасности из-за этого поведения?

  • Есть идеи, почему веб-интерфейс продолжит регистрировать его как зарегистрированный в / действительный сеанс, пока админ не будет? Мы явно не выполняем проверку повара ie в представлении, но я думаю, что если Django не позволит просмотреть /admin/, оно заблокирует его и в другом месте. Есть идеи?

Заранее спасибо!

...