我们正在Heroku上运行一个拥有大约200,000用户的Django 1.9应用程序。我们通常会在任何给定时间内看到大约300到1000个活跃用户。
今天我们收到了一位用户的投诉,当她使用她的凭据登录时,她在另一个用户的帐户中。她退出并再次尝试,这次只是为了看到另一个用户。我们几个月前收到了另一位用户的同一投诉,但我们无法重现该问题。我们仍然无法重现它。然而,它更为关键,因为我们现在正在存储敏感的PII。
settings.py
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'simple_history.middleware.HistoryRequestMiddleware',
'pipeline.middleware.MinifyHTMLMiddleware'
]
CSRF_COOKIE_SECURE = True
SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_BROWSER_XSS_FILTER = True
SESSION_COOKIE_SECURE = True
X_FRAME_OPTIONS = 'DENY'
SECURE_SSL_REDIRECT = True
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.sitemaps',
'django.contrib.humanize',
.
.
.
]
我们使用Heroku的PostgreSQL数据库作为会话存储。
我们可能做错了什么想法?