cookie

一.cookie的定义

  保存在浏览器端的键值对,可以利用来做登录

  注意:1,保存在用户的浏览器

     2,可以主动清除

       3,也可以被伪造

     4,跨域名cookie不共享

        5,浏览器可以设置不用cookie

二. 对cookie操作

1、获取Cookie:

1 request.COOKIES['key']
2 request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)
3     参数:
4         default: 默认值
5            salt: 加密盐
6         max_age: 后台控制过期

2、设置Cookie:

rep = HttpResponse(...) 或 rep = render(request, ...)
 
rep.set_cookie(key,value,...)
rep.set_signed_cookie(key,value,salt='加密盐',...)
    参数:
        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获取(不是绝对,底层抓包可以获取到也可以被覆盖)

实例

def    test(request):
    #return HttpResponse("ok")
    obj=HttpResponse("ok")
    import datetime
    y=datetime.datetime.utcnow()+datetime.timedelta(seconds=10)
    obj.set_cookie('k1','v1',max_age=10,expires=y)
    return obj

由于cookie保存在客户端的电脑上,所以,JavaScript和jquery也可以操作cookie。

1
2
<script src='/static/js/jquery.cookie.js'></script>
$.cookie("list_pager_num"30,{ path: '/' });

参考文献  www.cnblogs.com/wupeiqi/articles/5246483.html

原文地址:https://www.cnblogs.com/gjx1212/p/13461863.html