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/
, оно заблокирует его и в другом месте. Есть идеи?
Заранее спасибо!