3

我在我的设置了以下代码settings.py

SESSION_COOKIE_HTTPONLY = True

即使文档说这是默认设置。

然后我./manage.py runserver在网站上使用并运行 OWASP Zap 扫描仪。但是 OWASP zap 说 cookie 是在没有 HttpOnly 标志的情况下设置的:

在此处输入图像描述

gunicorn当我使用和为站点提供服务时,我也遇到了这个问题nginx。我怎样才能设置这个标志?

使用django 1.8; 如果相关,该页面accounts/login由 管理。django-registration-redux

4

1 回答 1

6

您在屏幕截图中突出显示的 cookie 不是会话 cookie,而是 csrf cookie。此 cookie有一个单独的设置CSRF_COOKIE_HTTPONLY。与 不同SESSION_COOKIE_HTTPONLYCSRF_COOKIE_HTTPONLY默认为False,因此您需要在设置中添加它。

CSRF_COOKIE_HTTPONLY = True

请注意,将 csrf cookie 设置为仅 http 会使执行 ajax 发布请求变得更加棘手。您的 javascript 将不得不从页面中提取 csrf 令牌,而不是使用 cookie。

于 2015-08-13T16:13:55.610 回答