目录
cookie
浏览器端的会话技术
怎么使用
设置cookie
response = HttpResponse()
# 设置cookies
#response.set_cookie(key,value[,max_age=None,exprise=None)]
# max_age=整数,指定cookie过期时间 设置为0 浏览器关闭失效 单位是秒
# exprise=整数,指定过期时间 还支持是一个datetime或timedelta,可以指定一个具体日期时间
#(expires=timedelta(days=10) 10天后过期) 设置为None永不过期
response.set_cookie('u_name', name, max_age=5)
读取cookie
# 拿cookies里面的值,返回给页面
u_name = req.COOKIES.get("u_name")
删除cookie:delete_cookie
def my_logout(req):
# 重定向到首页
response = HttpResponseRedirect("/dj04app/my_index")
# 删除u_name 对于的cookies
response.delete_cookie('u_name')
return response
cookie的缺点:数据不安全,暴露在浏览器端
session
服务器端的会话技术,基于cookie,把数据保存到服务端
怎样使用
设置session
# 设置session
#request.session['你的key'] = 你的value
req.session["ll"] = name
读取session
# 读取session ,你的key
my_session_data = req.session.get('ll')
session数据存在服务端
用mysql可以看到
里面的数据用base64位加密,在网上可以找到解密网站
cookie与session的区别
1.cookie和session都是会话技术,cookie是运行在客户端,session是运行在服务器端。
2.cookie由大小限制以及浏览器在存cookie的个数也是有限的,session是没有大小限制和服务器的内存大小有关。
3.cookie由安全隐患,通过拦截或本地找到cookie后可以进行攻击。
4.session是保存子服务器端上,存在一段时间才会消失,如果session过多会增加服务器的压力。