Добавление времени ожидания сеанса в Django
Зачем нам нужен тайм-аут сеанса?
Если ваши пользователи заходят на ваш веб-сайт с общедоступного компьютера в интернет-кафе или библиотеке, то есть вероятность, что они могут забыть выйти из системы. Если это так, то что мешает незнакомцу получить доступ к их профилю и прочитать всю их конфиденциальную информацию.
Что также может произойти, так это то, что пользователь может не нажимать "Выйти", а вместо этого закрыть свой браузер. Кто-то, у кого есть кое-какие соображения о них, может легко повторно отследить историю предыдущего пользователя и снова поиграть с его профилем.
Итак, как нам с этим разобраться?
Шаг 1:
Чтобы установить django-session-timeout, введите приведенную ниже команду:
pip install django-session-timeout
Шаг 2:
Далее необходимо добавить промежуточное программное обеспечение для django-session-timeout, его можно вставить куда угодно. Промежуточное программное обеспечение выглядит следующим образом:
# settings.py MIDDLEWARE = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'django_session_timeout.middleware.SessionTimeoutMiddleware', ]
Шаг 3:
Некоторые полезные конфигурации, которые вы можете включить в свой settings.py следующие:
Время истечения времени ожидания сеанса:
Приведенный ниже код сделает ваш сеанс недействительным через 30 минут после начала действия.
Чтобы установить время истечения времени ожидания сеанса, просто используйте:
# settings.py SESSION_EXPIRE_SECONDS = 1800 # Expire after 30 minutes
Аннулирует сеанс после самого последнего действия:
# settings.py SESSION_EXPIRE_AFTER_LAST_ACTIVITY = True
Перенаправьте пользователей на другую страницу:
По истечении срока действия вашего сеанса перенаправьте своих пользователей на другую страницу, возможно, это может быть ваша домашняя страница, но в любом случае, вот как вы могли бы к этому подойти:
# settings.py SESSION_TIMEOUT_REDIRECT = 'redirect_url_/' # Add your URL
Срок действия сеанса истекает при закрытии браузера:
Многие из ваших пользователей забудут выйти из своей учетной записи и вместо этого закроют браузер, будьте готовы к этому, добавив эту строку:
# settings.py SESSION_EXPIRE_AT_BROWSER_CLOSE=True # Invalid session
Заключение
Хорошо, вот и все! Теперь вы сможете обрабатывать сеансы вашего пользователя более эффективным и безопасным способом.
https://dev.to/arnopretorius/adding-a-session-timeout-in-django-4l5