Python开发中的cookie 学习

简介:

cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接。服务端是可以把 cookie写到用户浏览器上,用户每次发请求会携带cookie。
存放位置
每次发请求cookie是放在请求头里面的。
应用场景

  • 登陆用户和密码的记住密码
  • 显示每页显示的数据,以后都是按照设定的数目显示
  • 投票机制

    案例用户登录

    创建用户登录的url

    url(r'^login/', views.login),

    创建登录页面

    Python开发中的cookie 学习
    代码为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登陆页面</title>
    <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.css">
    <link rel="stylesheet" href="/static/jquery-3.2.1.min.js">
</head>
<body>
    <form action="/login/" method="post">
        <input type="text" name="username" placeholder="用户名">
        <input type="text" name="password" placeholder="密码">
        <input type="submit" value="提交">
    </form>

</body>
</html>

创建后台函数方法

Python开发中的cookie 学习
代码为:

def login(request):
    if request.method == "GET":
        return render(request,'houtaiguanli/login.html')
    else:
        user = request.POST.get('username')
        pwd = request.POST.get('password')
        if user == 'ke' and pwd == '123':
            obj = redirect('/classes/')
            obj.set_cookie('ticket','dafadfafaf')
            return obj
        else:
            return render(request,'houtaiguanli/login.html')

这里设计登录成功后可以正常访问班级页面即“classes”,所以要在班级方法那里做个判断。如果判断为用户已经登录,则可以正常访问。判断用户没有正常登录,则让它跳转到登录页面继续登录
Python开发中的cookie 学习

这里就是通过设置cookie,发送给用户的浏览器。用浏览器在进行新的请求时携带着cookie来的。

set_cookies的语法
Set-cookie:name=name;expires=date;path=path;domain=domain;secure name=name: 需要设置cookie的值(name不能使用“;”和","号),有多个name值时用";"分隔例如:name1=name1; name2=name2;name3=name3。
expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS" 
path=path: 设置cookie支持的路径,如果path是一个路径,则cookie对这个目录下的所有文件及子目录生效,例如:path="/cgi-bin/",如 果path是一个文件,则cookie指对这个文件生效,例如:path="/cgi-bin/cookie.cgi"。
domain=domain: 对cookie生效的域名,例如:domain="gzdzw.51.net"
secure: 如果给出此标志,表示cookie只能通过SSL协议的https服务器来传递。
cookie的接收是通过设置环境变量HTTP_COOKIE来实现的,CGI程序可以通过检索该变量获取cookie信息。

cookie 也可以做加密的
添加salt
Python开发中的cookie 学习
后台拿去的时候解密

Python开发中的cookie 学习

浏览器查看
Python开发中的cookie 学习



本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/2060238,如需转载请自行联系原作者

相关文章
|
7天前
|
数据采集 数据挖掘 大数据
【Python篇】详细学习 pandas 和 xlrd:从零开始
【Python篇】详细学习 pandas 和 xlrd:从零开始
34 2
|
1月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的大学竞赛报名管理系统
基于Python+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的大学竞赛报名管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
37 3
基于Python+Vue开发的大学竞赛报名管理系统
|
17天前
|
Linux Android开发 iOS开发
开源的Python库,用于开发多点触控应用程序
Kivy是一款开源Python库,专为开发多点触控应用设计,支持Android、iOS、Linux、OS X和Windows等平台。本文将指导你使用Kivy创建“Hello World”应用并打包成Android APK。首先通过`pip install kivy`安装Kivy,然后创建并运行一个简单的Python脚本。接着,安装Buildozer并通过`buildozer init`生成配置文件,修改相关设置后,运行`buildozer -v android debug`命令打包应用。完成构建后,你将在`./bin/`目录下找到类似`your-app-debug.apk`的文件。
21 2
|
22天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
在Web开发中,安全至关重要,尤其要警惕SQL注入和XSS攻击。SQL注入通过在数据库查询中插入恶意代码来窃取或篡改数据,而XSS攻击则通过注入恶意脚本来窃取用户敏感信息。本文将带你深入了解这两种威胁,并提供Python实战技巧,包括使用参数化查询和ORM框架防御SQL注入,以及利用模板引擎自动转义和内容安全策略(CSP)防范XSS攻击。通过掌握这些方法,你将能够更加自信地应对Web安全挑战,确保应用程序的安全性。
55 3
|
5天前
|
设计模式 运维 安全
Python学习—装饰器的力量 (一)
Python学习—装饰器的力量 (一)
12 0
|
5天前
|
Python
Python学习—装饰器的力量 (二)
Python学习—装饰器的力量 (二)
14 0
|
29天前
|
IDE 数据挖掘 开发工具
python开发
python开发
14 3
|
1月前
|
SQL JavaScript 前端开发
用Java、Python来开发Hive应用
用Java、Python来开发Hive应用
25 6
|
1月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的商城管理系统
是基于Python+Vue开发的商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
30 5
|
1月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的反诈视频宣传管理系统
基于Python+Vue开发的反诈视频宣传管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的反诈宣传管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
28 4