赞
踩
简介
在Web开发中,会话跟踪是指识别和管理用户与服务器之间的一次交互过程。由于HTTP协议是无状态的,即服务器无法记忆与客户端之前的交互信息,因此需要借助其他技术来实现会话跟踪。
Cookie是服务器端存储在客户端浏览器中的少量数据。它通常包含一个键值对,用于标识用户或保存用户会话期间的一些信息。Cookie由HTTP响应头中的Set-Cookie字段发送到客户端浏览器,并保存在客户端浏览器的内存或硬盘中。当客户端浏览器再次向服务器发送请求时,会将Cookie信息包含在HTTP请求头中的Cookie字段中。
Session是服务器端存储的用户会话信息。与Cookie不同的是,Session保存在服务器端,而不是客户端。服务器会为每个用户创建一个Session对象,用于存储该用户会话期间的信息。Session对象通常包含一个唯一的标识符,称为Session ID。Session ID由服务器生成并发送给客户端浏览器,通常保存在Cookie中。当客户端浏览器再次向服务器发送请求时,会将Session ID包含在HTTP请求头中的Cookie字段中。服务器会根据Session ID获取相应的Session对象,并从中获取用户会话信息。
测试一下 我们再Django模型里创建一个用户模型 用户后期用户登录测试
创建后记得执行迁移
- python3 project2/manage.py makemigrations
- python3 project2/manage.py migrate
创建几个页面进行注册登录页面的学习
先简单的写一个注册的视图函数进行注册测试
因为在设计模型的时候 name设置的是唯一 所以先判断一下用户名是否存在 如果用户名存在就不予注册,注册成功后重定向跳转到到登录页面
可以看到通过注册页面的表单已经成功将数据插入到了数据库中
在注册页面的时候我们碰到了一个CSRF的验证 那么什么是CSRF
CSRF,全称为 Cross-Site Request Forgery,中文名为跨站请求伪造,是一种网络攻击方式。它利用用户在网站A的已登录状态(即浏览器中保存了该网站的Cookie或其他认证信息),诱导用户在不知情的情况下访问网站B,从而使浏览器向网站A发送一个伪造的请求。由于网站A误以为这个请求是用户自己发起的,所以可能会执行一些敏感操作,如转账、修改密码、发帖等,从而对用户造成损失。
CSRF攻击的关键点在于:
为了防范CSRF攻击,网站通常会采用以下措施:
通过这些防护措施,可以大大降低CSRF攻击成功的可能性,保护用户数据和操作的安全性。
在登录的视图函数中我们可以先学习一下设置COOIKE
这边有多种设置cookie过期时间的方式 可以挨个试一下
在用户登录后我们在识别他是否是登录状态,我们用cookie来识别
在登录的视图函数中我们可以先获取用户的cookie并返回用户信息
在首页页面的html中可以去做一下判断 如果有就显示登录成功 else 就返回登录页面
如果需要增加注销功能
我们可以看到点击注销按钮后 原本有的COOKIE就消失了
session的数据是存在服务器端
删除session 的方式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。