首页 > 其他 > 详细

cookie和session

时间:2021-05-25 19:19:13      阅读:25      评论:0      收藏:0      [点我收藏+]

cookie:

  理解为客户端浏览器上的一个文件

  类似字典存储{‘k‘:‘v‘ }

  基于cookie做用户验证时,敏感信息不适合放在cookie中

   

1、获取Cookie:

request.COOKIES[key]
request.get_signed_cookie(key, default=RAISE_ERROR, salt=‘‘, max_age=None)
    参数:
        default: 默认值
           salt: 加密盐
        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 hasnt been already.)
        path=/,         Cookie生效的路径,/ 表示根路径,特殊的:跟路径的cookie可以被任何url的页面访问
        domain=None,      Cookie生效的域名
        secure=False,     https传输
        httponly=False    只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)
    

 

session:

   理解为保存在服务器文件,是一个字典格式。

这是view中的session的基本操作

from django.shortcuts import render,redirect,HttpResponse

# Create your views here.

def login(request):
    if request.method==‘GET‘:
        return  render(request,‘login.html‘)
    elif request.method == ‘POST‘:
        user=request.POST.get(‘user‘)
        pwd=request.POST.get(‘password‘)
        if user ==‘root‘ and pwd==‘123‘:
            #生成随机字符串
            #写到用户浏览器cookie
            #保存至session中
            #在随机字符串对应的字典中设置相关内容
            request.session[‘username‘]=user
            request.session[‘is_login‘]=True
            return  redirect(‘/index/‘)
        else:
            return render(request,‘login.html‘)

def index(request):
    #获取当前用户的随机字符串
    #根据随机字符串获取对应信息
    #session中获取值
    if request.session[‘is_login‘]:
        #输出登录账户
        return HttpResponse(request.session[‘username‘])

        # return HttpResponse(‘OK‘)
    else:
        return HttpResponse(‘滚‘)

 

 

 

 

 

#生成表和

python manage.py makemigrations 生成默认的表
python manage.py migrate


 

cookie和session

原文:https://www.cnblogs.com/anhao-world/p/14679178.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!