如何使Django sessionId cookie安全

时间:2018-07-23 10:42:56

标签: python django django-sessions

我当前的sessionId cookie属性

  

Set-Cookie:sessionid = 3jdpjxgepk49vrnhbabdvju3r80ci581; expires =星期一,2018年8月6日12:40:14 GMT; HttpOnly;年龄上限= 1209600;路径= /

我希望sessionId是安全的,它将具有类似

的属性
  

Set-Cookie:sessionid = 3jdpjxgepk49vrnhbabdvju3r80ci581; expires =星期一,2018年8月6日12:40:14 GMT; HttpOnly,安全;年龄上限= 1209600;路径= /

我尝试在settings.py文件中添加以下属性

SESSION_COOKIE_SECURE = True

仍然无法获取sessionId的安全属性。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:4)

  1. 验证您的设置文件是否为properly configured

  2. 在设置文件中设置SESSION_COOKIE_SECURE = True

  3. 您可以通过running your Django application in the interactive Shell测试更改,以检查变量是否已更改:

from django.conf import settings
settings.SESSION_COOKIE_SECURE # it should be printing "True"

重要:如果您通过HTTP而不是HTTPS运行应用程序(在本地计算机上通常是这种情况),即使该变量设置为true,会话cookie也不会被加密。它只能通过HTTPS连接工作。