8、Django实战第8天:session和cookie自动登录机制

因为http是无状态协议,因此,并不会记录用户的登录状态。在早期,是直接把用户名和密码等信息存储在浏览器的cookie来实现记录用户密码登录。

但是这样存在安全隐患,只要别人登录你的电脑cookie信息,就取得了用户名和密码等重要信息。

为了解决这个问题,我们使用了session技术

在Django中,当我们输入用户名、密码登录后。它调用login,这个login根据用户信息生成了一个session,生成的session信息会保存到数据表当中(django_session表),这个表会根据用户的信息进行加密生成session_data

session_key: 就是服务器给用户返回的id, 在浏览器当中,这个值是保存为sessionid

session_data: 这是一个加密后的信息,用来保存用户名和密码等信息

expire_data: 过期时间,Django可以设置过期时间

那么Django是如何获取到客户端传给我们的session信息呢?在settings.py中,有下面一行配置,它会拦截到session信息,然后根据sessionid去数据库中查找,如果找到,则对session_data进行解密。如果我们把这行注释掉,自动登录就会失效

原文地址:https://www.cnblogs.com/sellsa/p/8461204.html

时间: 2024-08-29 19:00:01

8、Django实战第8天:session和cookie自动登录机制的相关文章

CSIC_716_20200113【Django入门---forms组件、session和cookie、登录认证装饰器】

forms组件 forms组件的功能:1.渲染前端页面,不用在前端手写forms表单了,不过只会渲染用户输入(输入.选择.下拉.文件)的标签,不渲染按钮以及form表单标签,.2.后端能进行非常规范的数据合法性校验3.展示校验之后的合法性信息. 使用方法:1.定义一个自定义forms类 form组件的前端渲染方式 效果差不多 哈哈哈哈 顶 原文地址:https://www.cnblogs.com/csic716/p/12189236.html

【2017-05-21】WebForm内置对象:Session、Cookie,登录和状态保持

1.Request -获取请求对象 string s =Request["key"]; 2.Response  -  响应请求对象 Response.Redirect("url");     服务端重定向,在当前页面跳转. Response.Write("string");     将此字符串输出到页面的最顶端,里面可以放Js. 3.Session存贮在服务端,占用服务器内存很好用,速度很快不要滥用,容易溢出 生命周期:20分钟,每一次新的请求都

【2017-5-21】问题总结 Session,Cookie,登录状态保持

问题:1.展示细节2.用户名重复验证3.着急4.日期判断5.修改页面无法提交6.编辑时,如密码不填,则保留原有密码---------------------------------------------------------------窗体内的控制跨窗体控制 URL传值/QueryString1.不占用服务器内存2.保密性差,传递值的长度有限 内置对象: Request - 获取请求对象string s = Request["key"]; Response - 响应请求对象Resp

自动登录:Filter,Session,Cookie综合例子

初始登录Servlet: package cn.xbai.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class

session 、cookie、token的区别及联系

session session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session.服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁.这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失. cookie cookie是保存在本地终端的数据.cookie由服务器生成,发送给浏览器,浏览器把cookie以

Python+Django+SAE系列教程16-----cookie&session

本章我们来讲解cookie和session ,这两个东西相信大家一定不陌生,概念就不多讲了,我们直接来看其用法,首先是cookie,我们在view中添加三个视图,一个是显示cookie的,一个是设置cookie的,如下: def show_cookie(request): if "MyTestCookie" in request.COOKIES: return HttpResponse("Cookie[MyTestCookie]的内容是: %s" % request

django 实战 - eLeave Form (一)

需求: 实现请假单的电子审批 1. 支持国际化 2. 支持模型级别的访问记录 here we go: 这里会写一系列的文章,来记录我实战的过程,由于接触django没多久,难免有疏漏之处,望拍砖不要太重. django 实战 - eLeave Form (一)

Django实战之用户认证系统

详情请交流  QQ  709639943 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标准库.socket网络编程.多线程.多进程和协程. 00.Django实战之用户认证系统 00.Django实战之企业级博客 00.深入浅出Netty源码剖析 00.NIO+Netty5各种RPC架构实战演练 00.JMeter 深入进阶性能测试体系 各领域企业实战 00.30天搞定大数据爬虫项目 00.零基础实战机器学学习 00.企业级实战

Django实战之企业级博客

详情请交流  QQ  709639943 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标准库.socket网络编程.多线程.多进程和协程. 00.Django实战之用户认证系统 00.Django实战之企业级博客 00.深入浅出Netty源码剖析 00.NIO+Netty5各种RPC架构实战演练 00.JMeter 深入进阶性能测试体系 各领域企业实战 00.30天搞定大数据爬虫项目 00.零基础实战机器学学习 00.企业级实战