使用 Django 存储会话最安全的方法是什么?

问题描述 投票:0回答:1

我应该使用什么 Django 会话引擎来增强安全性?

django django-sessions
1个回答
0
投票

TLDR;

db
会话引擎似乎是最安全的,但需要特别小心地创建备份。


Django 附带了这些会话引擎:

  • django.contrib.sessions.backends.db
  • django.contrib.sessions.backends.file
  • django.contrib.sessions.backends.cache
  • django.contrib.sessions.backends.cached_db
  • django.contrib.sessions.backends.signed_cookies

此外,您可以自己编写或使用第三方,例如

django-redis-sessions

经过一番研究,我发现只有

db
file
引擎具有
clear_expired
方法已实施。当您调用
clearsessions
管理命令时,会调用此方法。

因此,当您使用其他会话引擎时,属于未注销而离开网站的用户的信息,仍然可以读取其会话中的内容。

您只能在单个服务器上使用

file
会话引擎,这不适用于扩展。因此,我最安全的选择是使用
db
会话引擎,并确保使用 PostgreSQL pg_dump
django_session
参数将
--exclude-table-data
表从数据库备份中排除。

© www.soinside.com 2019 - 2024. All rights reserved.