标签:请求 response rom 根据 res 秘钥 mil cookie https
利用response对象去设置cookie时,存储到浏览器中的cookie数据都是明文的,容易被一些计算机爱好者利用;利用session存的cookie数据可以防止,因为session存储cookie数据时是经过加密的
resp.set_cookie(‘userId‘, str(user.id), max_age=age)
获取存入的cookie数据的格式(利用request对象进行获取)
userId = request.cookies.get(‘userId‘, None)
session[‘userId‘] = str(user.id)
获取存入的cookie数据的格式(直接利用session对象进行获取)
userId = session.get(‘userId‘, None)
flask中的session就是存在cookie中的字典,并且这些数据都是进过加密的,可以实现维持状态的功能,但是这些数据可以被破解但是不能够被伪造
from flask import session
import os
SECRET_KEY = os.urandom(24) # 利用session存cookie数据的时候会用到
注意:如果不配置那么在设置cookie时机会报下面的错误
注意:
优点:能够缓解服务器压力
缺点:不能够保证数据不被解密,但是能够保证数据不被伪造
经典应用:将记录的ID进行加密后直接作为cookie数据存放到前台(注意:这里的ID一般都是采用的UUID)
数据库中的每条记录都对应一个唯一的随机码,将这个随机码放到cookie中,这样在前台就只能够看到随机码,用户的数据都在后台
例如:
原理解释:
用户登录成功后,根据用户的信息到数据库中去获取对应的随机码并将其放到cookie中;下次访问相同请求时将随机码给到后台,后台会根据这个随机码去判断用户是否已经登录过
优点:信息完全保密,状态保存在后台,可控性更好
缺点:服务器压力大
百度百科:点击前往
攻击网站利用正常用户的session数据去访问正常网站
保证所有的post表单,不能以session作为唯一的判断标准;再另外添加一个标准,这个标准对自己的网站是符合的,对别人的网站是失效的;例如:在session中添加一个随机码,在表单中添加一个随机码,这两个随机码保持一致
标签:请求 response rom 根据 res 秘钥 mil cookie https
原文地址:http://www.cnblogs.com/NeverCtrl-C/p/7633235.html