Django设置/获取/删除cookie


# 设置cookie

def setCookie(request):
obj = HttpResponse('OK')
obj.set_cookie('isLogin', True)
obj.set_cookie('username', 'ruan')
return obj



# 获取cookie

def getCookie(request):
  print(request.COOKIES)
  username = request.COOKIES.get('username')
  isLogin = request.COOKIES.get('isLogin)


# 删除cookie

def getCookie(request):
  obj = Httpresponse('OK')
  obj.delete_cookie('username)
  obj.delete_cookie('isLogin')
  return obj

关于cookie,需要记住几点:

    - 1.cookie是保存在用户浏览器的已加密的键值对

    - 2.可以被主动清除(浏览器界面、前端、后台)

    - 3.可以被"伪造"

    - 4.处于隐私保护的目的,禁止跨域共享:即www.googole.com和www.baidu.com各自的cookie不可被共享,因为域名对应的谷歌公司和百度公司服务器是不同的。

 

 

 

cookie参数

属  性  名 描    述
String name 该Cookie的名称。Cookie一旦创建,名称便不可更改
Object value 该Cookie的值。如果值为Unicode字符,需要为字符编码。如果值为二进制数据,则需要使用BASE64编码
int maxAge 该Cookie失效的时间,单位秒。如果为正数,则该Cookie在maxAge秒之后失效。如果为负数,该Cookie为临时Cookie,关闭浏览器即失效,浏览器也不会以任何形式保存该Cookie。如果为0,表示删除该Cookie。默认为–1
boolean secure 该Cookie是否仅被使用安全协议传输。安全协议。安全协议有HTTPS,SSL等,在网络上传输数据之前先将数据加密。默认为false。当使用https式,必须要secure设置为Y=True。
String path 该Cookie的使用路径。如果设置为“/sessionWeb/”,则只有contextPath为“/sessionWeb”的程序可以访问该Cookie。如果设置为“/”,则本域名下contextPath都可以访问该Cookie。注意最后一个字符必须为“/”
String domain 可以访问该Cookie的域名。如果设置为“.google.com”,则所有以“google.com”结尾的域名都可以访问该Cookie。注意第一个字符必须为“.”
boolean httponly 限制在浏览器控制台获取键值对,但无法对抓包工具进行限制。
原文地址:https://www.cnblogs.com/ruan-ruan/p/12450766.html