首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

已设置Django SESSION_COOKIE_HTTPONLY,但cookie上未显示HttpOnly标志

Django是一个流行的Python Web框架,用于快速开发高质量的Web应用程序。在Django中,SESSION_COOKIE_HTTPONLY是一个配置选项,用于设置会话cookie是否应该具有HttpOnly标志。

HttpOnly是一个安全标志,用于防止跨站点脚本攻击(XSS)。当会话cookie被设置为HttpOnly时,浏览器将禁止通过JavaScript访问该cookie,从而提高了应用程序的安全性。

然而,即使在Django中设置了SESSION_COOKIE_HTTPONLY为True,有时候会话cookie上未显示HttpOnly标志的情况也可能发生。这可能是由于以下原因:

  1. 浏览器不支持HttpOnly标志:某些旧版本的浏览器可能不支持HttpOnly标志,因此无论是否设置了SESSION_COOKIE_HTTPONLY,都不会在cookie上显示HttpOnly标志。在这种情况下,建议使用支持HttpOnly标志的现代浏览器。
  2. 代理服务器的干预:如果应用程序后面有代理服务器,该代理服务器可能会修改或删除HttpOnly标志。这可能是出于安全或其他目的。在这种情况下,建议检查代理服务器的配置,并确保它不会干预会话cookie的HttpOnly标志。
  3. Django版本问题:某些Django版本可能存在bug,导致设置了SESSION_COOKIE_HTTPONLY为True时,会话cookie上未显示HttpOnly标志。在这种情况下,建议升级到最新的Django版本,以修复可能存在的问题。

总结起来,尽管已经设置了Django SESSION_COOKIE_HTTPONLY为True,但会话cookie上未显示HttpOnly标志可能是由于浏览器不支持、代理服务器干预或Django版本问题等原因。为了确保会话cookie的安全性,建议使用支持HttpOnly标志的现代浏览器,并检查代理服务器的配置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django进阶之session

基于cookie做用户验证时:敏感信息不适合放在cookie中 session依赖cookie session原理 cookie是保存在用户浏览器端的键值对 session是保存在服务器端的键值对 session...配置setting.py SESSION_COOKIE_NAME = "sessionid"      # Session的cookie保存在浏览器时的key,即:sessionid=随机字符串(默认...# Session的cookie保存的域名(默认) SESSION_COOKIE_SECURE = False          # 是否Https传输cookie(默认) SESSION_COOKIE_HTTPONLY...= True         # 是否Session的cookie只支持http传输(默认) SESSION_COOKIE_AGE = 1209600             # Session的cookie...中对于session的存储方式 Django中支持session,其中内部提供了5种类型的session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie 1、如果是数据库,需要在

55290

cookie与session组件

什么是Cookie   是存储在客户端浏览器的键值对 原理:   是服务器产生,发给客户端 浏览器,浏览器保存起来,下次发请求,会携带这个 键值对到 服务器 Cookie的覆盖   先写一个键值对,后来... 再写,会把原来的值覆盖掉 Cookie规范   1、Cookie大小上限为4KB;   2、一个服务器最多在客户端浏览器保存20个Cookie;   3、一个浏览器最多保存300个Cookie; 在浏览器中查看...如果该参数设置为 None ,cookie只能由设置它的站点读取 secure=False, 浏览器将通过HTTPS来回传cookie httponly=False 只能http协议传输,无法被...然后我们再根据不同的Cookie的id,在服务器保存一段时间的私密资料,如“账号密码”等等。...# 是否Https传输cookie(默认) SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http

59120

Django(34)Django操作session(超详细)

存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,一些session信息还是绰绰有余的。 将session数据加密,然后存储在cookie中。...的cookie保存在浏览器时的key,即:sessionid=随机字符串(默认) SESSION_COOKIE_NAME = 'sessionid' # Session的cookie失效日期(2周)(.../' # 是否Session的cookie只支持http传输(默认) SESSION_COOKIE_HTTPONLY = True # 是否每次请求都保存Session,默认修改之后才保存(默认) SESSION_SAVE_EVERY_REQUEST...cookie模仿用户继续访问网站 SECRET_KEY这个配置项绝对不能泄露,否则会让攻击者可以远程执行任意代码 cookie过大,会影响用户访问速度 SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies...request): """清除session""" request.session.clear() return HttpResponse("清除session成功") 接着我们在浏览器先打开

5K20
领券