zoukankan      html  css  js  c++  java
  • Django操作cookie

    浏览器清空cookie快捷键:ctrl+shift+deletecookie中包含csrf认证信息

    获取Cookie

    request.COOKIES['key']

    request.COOKIES.get['key']

    request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)(签名cookie,在设置时进行了签名加密)

    参数:

    default: 默认值

    salt: 加密盐

    max_age: 后台控制过期时间

     

    设置Cookie

    rep = HttpResponse(...)

    rep render(request, ...)

    rep redirect( ...)

     

    rep.set_cookie(key,value,...)

    rep.set_signed_cookie(key,value,salt='加密盐', max_age=None, ...)(签名cookie)

     

    return rep

    参数:

    key,

    value='',

    max_age=None, 超时时间

    expires=None, 超时时间(IE requires expires, so set it if hasn't been already.)

    path='/', Cookie生效的路径,/ 表示根路径,特殊的:根路径的cookie可以被任何url的页面访问

    domain=None, Cookie生效的域名

    secure=False, https传输

    httponly=False 只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)

     

    删除Cookie

    def logout(request):

        rep = redirect("/login/")

        rep.delete_cookie("user")  # 删除用户浏览器上之前设置的usercookie

        return rep

     

     

    cookie设置参数

    class HttpResponseBase:

     

            def set_cookie(self, key,       

                                             value='',             

                                          max_age=None,        超长时间 ,有效事件,max_age=20意思是这个cookie20秒后就消失了,默认时长是2,这个是以秒为单位的

                                                                                         cookie需要延续的时间(以秒为单位)

                                                                                         如果参数是 None`` ,这个cookie会延续到浏览器关闭为止。

     

                                         expires=None,           超长时间,值是一个datetime类型的时间日期对象,到这个日期就失效的意思,用的不多

                                                                                             expires默认None ,cookie失效的实际日期/时间。

       

     

                                         path='/',               Cookie生效的路径,就是访问哪个路径可以得到cookie'/'是所有路径都能获得cookie

                                                                                            浏览器只会把cookie回传给带有该路径的页面,这样可以避免将  cookie传给站点中的其他的应用。

                                                                                             / 表示根路径,特殊的:根路径的cookie可以被任何url的页面访问

            

                                   domain=None,         Cookie生效的域名

                                                   

                                                                    你可用这个参数来构造一个跨站cookie

                                                                    如, domain=".example.com"

                                                                    所构造的cookie对下面这些站点都是可读的:www.example.com www2.example.com  .other.sub.domain.example.com

                                                                    如果该参数设置为 None cookie只能由设置它的站点读取。

     

                                 secure=False,           如果设置为 True ,浏览器将通过HTTPS来回传cookie

                                  httponly=False        只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)

            ): pass

  • 相关阅读:
    访问通讯录并设置联络人信息
    创建提醒事项
    iOS 高仿:花田小憩3.0.1
    iOS 手机淘宝加入购物车动画分析
    VTMagic 的使用介绍
    React Native 从入门到原理
    用户数据攻略-获取日历事件
    键盘收回方法
    提高jQuery执行效率需要注意几点
    你应该了解的jquery 验证框架
  • 原文地址:https://www.cnblogs.com/open-yang/p/11222451.html
Copyright © 2011-2022 走看看