标签:oldboy values iter 解密 cno query items 服务 get
Cookie:
    就是保存在浏览器端的键值对
    可以利用做登录
    
        1、保存在用户浏览器
        2、可以主动清楚
        3、也可以被“伪造”
        4、跨域名cookie不共享
        
        5、浏览器设置不接受cookie
        
Cookie是什么?
    客户端浏览器上保存的键值对
    设置:
        服务端操作的Cookie
            obj.set_cookie(‘k1‘,‘v1‘)
            obj.set_cookie(‘k1‘,‘v1‘,max_age=10)
            
            v = datetime.datetime.utcnow() + datetime.timedelta(seconds=10)
            obj.set_cookie(‘k1‘,‘v1‘,max_age=10,expires=v)
            
            path: 
                    /       表示,全局生效
                    /xxxx/  表示,只有当前url生效
                    
            domian:
                    obj.set_cookie(‘k4‘,‘v4‘,max_age=10,expires=v, domain=‘oldboy.com‘)
                    
                    
                    obj.set_cookie(‘k1‘,‘v1‘)
                    
            httponly: 仅仅HTTP网络传输使用
            ======================
        客户端浏览器上操作cookie
            dom          --> 麻烦
            jquery插件   --> 
                                jquery.cookie.js
                                jquery.cookie.js
                            ...
                            expires: 
                                        10
                                        d = new Date()
                                        d.
                                        
                                        
Cookie三个重要点:
            
            
        - 客户
        - 服务端
        - 保存在客户端
        
        
Cookie的应用:
    登录认证
        普通cookie
            - 敏感信息(直接看到),不宜放置在cookie中,敏感信息放在数据库,频繁操作数据库
        签名的cookie
            - 敏感信息(可能会解密),
    
                                   
        不宜放置在cookie中,敏感信息放在数据库,频繁操作数据库
        
        ===========》 cookie时做认证时候,将不敏感的信息放在cookie中,频繁操作数据库 ===========
                                        
                                        
                                        
        
Session:
    session是服务器端的一个键值对
    session内部机制依赖于cookie
    
    request.session[‘k‘]
    request.session[‘k1‘] = v
    request.session[‘k2‘] = v
    
    del request.session[‘k1‘]
    request.session.clear()
    
    
    # 获取、设置、删除Session中数据
    request.session[‘k1‘]
    request.session.get(‘k1‘,None)
    
    
    
    request.session[‘k1‘] = 123
    request.session.setdefault(‘k1‘,123) # 存在则不设置
    del request.session[‘k1‘]
    # 所有 键、值、键值对
    request.session.keys()
    request.session.values()
    request.session.items()
    request.session.iterkeys()
    request.session.itervalues()
    request.session.iteritems()
    # 用户session的随机字符串
    request.session.session_key
    # 将所有Session失效日期小于当前日期的数据删除
    request.session.clear_expired()
    # 检查 用户session的随机字符串 在数据库中是否
    request.session.exists("session_key")
    # 删除当前用户的所有Session数据
    request.session.delete("session_key")
标签:oldboy values iter 解密 cno query items 服务 get
原文地址:https://www.cnblogs.com/jiefangzhe/p/10689362.html