当前位置:网站首页>第五单元 保持状态
第五单元 保持状态
2022-08-02 14:01:00 【czy1206527605】
Cookie
1.cookie的作用
当客户端访问时,服务端会为客户端生成一个`Cookie`键值对数据,通过`Response`响应给到客户端。当下一次客户端继续访问相同的服务端时,浏览器客户端就会将这个`Cookie`值连带发送到服务端
2.cookie的应用
views层
**设置与获取cookie**
获取:直接通过get获取即可
class CookieView(View):
# 如果没有cookie,设置cookie;如果有的话,展示当前的cookie
def get(self,request):
cookie_data = request.COOKIES.get('shenfen')
if cookie_data is None:
resp = HttpResponse('设置cookie')
resp.set_cookie('shenfen','kjdl')
return resp
else:
return HttpResponse(f"当前cookie信息为{cookie_data}")
**删除COOKIE**
删除:删除指定的key及对应的value
class DelCookieView(View):
# 删除Cookie
def get(self,request):
resp = HttpResponse("删除cookie信息")
resp.delete_cookie('shenfen')
return resp
url层
path('cookie/',views.CookieView.as_view()),
path('delcookie/',views.DelCookieView.as_view()),
Session
1.与cookie的优略势
优势:
1.在服务端运行,比cookie更加安全
2.数据不会丢失,可以一直在整个会话过程中存活。
劣势:
1.cookie可以保持用户在访问站点时的状态
2.session的应用
views层
**设置与获取session**
获取:直接通过get获取即可
class SessionView(View):
# 如果session不存在,生成一个session;如果存在,返回session信息
def get(self,request):
session_data = request.session.get('money')
if session_data is None:
request.session['money'] = '10000000'
return HttpResponse('设置session')
else:
return HttpResponse(f"session信息为:{session_data}")
**删除session**
class DelSessionView(View):
def get(self,request):
if request.session.get('money') is None:
return HttpResponse('session不存在')
else:
del request.session['money']
return HttpResponse("session已经删除")
url层
path('session/',views.SessionView.as_view()),
path('delsession/',views.DelSessionView.as_view())
CSRF
csrf的攻击流程

csrf攻击如何防范
代码内部添加:
{% csrf_token %}
今日错误总结
做作业的时候,game数据库中存放账号密码的user表里的密码应该用CharField类型来定义,我用成了
数值类型。导致密码一直错误。
边栏推荐
猜你喜欢

栈 && 队列

Object detection scene SSD-Mobilenetv1-FPN

玉溪卷烟厂通过正确选择时序数据库 轻松应对超万亿行数据

基于深度学习的图像检索方法!

The future of financial services will never stop, and the bull market will continue 2021-05-28

Break the limit of file locks and use storage power to help enterprises grow new momentum

专访|带着问题去学习,Apache DolphinScheduler 王福政

世界上最大的开源基金会 Apache 是如何运作的?

CVE-2020-27986(Sonarqube敏感信息泄漏) 漏洞修复

C语言提高篇(三)
随机推荐
You can't accept 60% slump, there is no eligible for gain of 6000% in 2021-05-27
Swagger 的使用
redis分布式锁和看门狗的实现
MySQL数据库语法格式
Kunpeng devkit & boostkit
Sentinel源码(五)FlowSlot以及限流控制器源码分析
The world's largest Apache open source foundation is how it works?
音频处理:浮点型数据流转PCM文件
专访|带着问题去学习,Apache DolphinScheduler 王福政
关于市场后市的发展预测? 2021-05-23
网络安全第一次作业(2)
网络安全第三次作业
RHCE第一天作业
关于Google词向量模型(googlenews-vectors-negative300.bin)的导入问题
Raft对比ZAB协议
ftp常用命令详解_iftop命令详解
els 长条方块变形条件、边界碰撞判定
What is the difference between web testing and app testing?
Flask-RESTful请求响应与SQLAlchemy基础
vim复制粘贴_vim如何复制粘贴