当前位置: 首页 > 网络应用技术

如何保存cookie(django外部钥匙保存)

时间:2023-03-08 21:12:04 网络应用技术

  简介:今天,首席CTO Note将与您分享Django如何保存cookie的相关内容。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  cookie和会话之间的区别:

  1. Cookie数据存储在客户的浏览器上,并且会话数据放在服务器上。

  2. cookie不是很安全。其他人可以分析当地的饼干和饼干以欺骗

  考虑使用安全性。

  3.会话将在一定时间内存储在服务器上。访问次数增加后,它将占用服务器的性能

  考虑到服务器的性能,应使用cookie。

  4.单个cookie保存的数据不能超过4K。许多浏览器限制了一个站点以节省多达20个cookie。

  5.因此,个人建议:

  保持重要信息,例如登录信息作为会话

  如果需要保留其他信息,您可以将其放入cookie中

  曲奇饼

  一些网站将在计算机上存储带有小文本文件的信息。该文件称为cookie。

  有几种类型的cookie,您可以选择是否允许计算机上的一部分,而不是保存或保存所有cookie。如果不允许cookie,则无法查看某些站点或使用自定义功能(例如本地新闻和天气,或库存查询)。

  如何使用饼干

  cookie是由Internet网站创建的文件,并将信息存储在计算机上,例如访问该站点时的第一个选项。例如,如果您在某个航空公司的网站上查阅飞行时间表,则该网站可能会创建包含您旅行计划的cookie。它也只能记录您在此站点上访问的页面,该页面可帮助您自定义下次访问网站时查看。

  Cookies还可以存储个人身份信息。个人信息可用于识别或联系您的信息,例如您的姓名,电子邮件地址,家庭或工作单位地址或电话号码。但是,网站只能访问您提供的个人识别信息。

  一旦将cookie保存在计算机上,只能由创建cookie的网站读取。

  使用cookie时的选择

  Internet Explorer允许使用cookie;但是,您可以更改隐私设置,以指定Internet Explorer在计算机之前提供cookie(让您决定或停止Cookie);或防止互联网探险家接受任何cookie。

  它可以删除,但是将来,当您访问某些网站时,您需要重新输入用户名和密码,并且网站将不记得。

  1. cookie设置

  2. cookie阅读

  3.注意饼干问题

  1.当我们设置cookie时,我们需要注意:

  编码的原因是,当用户名是变量时,该变量未指定属性:'noneype'对象没有属性“ split”异常

  2.阅读cookie时,您需要注意:

  假设我们在步骤1中设置的cookie值等于“ ABC123”,那么2中读取的内容是:b'ABC123',stringusercookie在1中用作用户名,但使用字符串的索引切片来处理处理。它并将其恢复为1的内容,然后才能使用。其中一种方法如下:

  如何将cookie保存到本地方法:如何保存cookie:

  在第一个访问页面后,服务器可以将cookie信息添加到HTTP标头返回到浏览器中,并且浏览器将自动在本地保存此信息。

  再次访问同一域名时,浏览器将带有请求发送相应的cookie,并且服务器可以读取此信息以进行处理。

  Cookie可以设置到期时间,并在到期后自动删除浏览器;

  当我们想返回页面时,第一个输出如下:

  [Python]查看Platecopy

  打印“内容类型:文本/平原

  “

  它实际上是HTTP标头。它遇到了两个连续的更改,以说HTTP标头部分已经结束,其余部分将用作数据处理。

  包含cookie后的输出大致如下:

  [Python]查看Platecopy

  打印“ content-type:text/html”

  打印“ set-cookie:session = 12345”

  打印#个p

  代码:

  setCookie.py

  [Python]查看Platecopy

  #!/usr/bin/env Python

  进口饼干

  导入日期

  导入随机

  expiration = dateTime.dateTime.now() + dateTime.timedelta(days = 30)

  cookie = cookie.simplecookie()

  cookie [“ session”] = randin.randint(0,1000000000)

  cookie [“ session”] [“域”] =“ localhost”

  cookie [“ session”] [“ path”] =“/”

  cookie [“ session”] [“ expires”] =

  到期(strftime)(“%a,%d-%b-%y%m:%s pst”)

  打印“内容类型:文本/普通”

  打印cookie.output()

  打印

  打印“ cookie set with:” + cookie.output()

  getCookie.py

  [Python]查看Platecopy

  #!/usr/bin/env Python

  进口饼干

  导入操作系统

  打印“内容类型:文本/平原

  “

  尝试:

  cookie = cookie.simplecookie(os.environ [“ http_cookie”]))))

  打印“ session =” + cookie [“ session”]。价值

  除(Cookie.CookierRor,KeyError):

  打印“ session cookie未设置!”

  没有状态的含义是每个请求都是独立的。其执行和结果与先前的请求和后续请求无直接相关。它不会直接受到先前的请求响应的影响。重新响应。

  例如,在我们引入cookie验证之前,我们进入了页面登录操作。从理论上讲,我们必须完成登录名来执行后续操作。相关。然后,我们还可以通过页面完成交互式工作,从而失去登录操作的含义。

  描述就像一见钟情的句子很有趣。对于服务器,每个请求都是全新的。

  状态可以理解为客户和服务器在特定会话中生成的数据,而那些没有状态的人认为这些数据不会保留。会话中生成的数据是我们需要保存的数据,“保持状态”。所以cookie出生在这样的场景中。

  cookie专门指的是一个小信息,该信息是服务器发送的组键对以存储在浏览器上。下次您访问服务器时,浏览器将自动携带这些钥匙值对,以提取服务器的有用信息。

  cookie的工作原理是:生成服务器的内容,并且在收到请求后本地存储浏览器;再次访问浏览器时,浏览器将自动带上cookie,以便服务器可以通过cookie的内容进行判断。”

  我们使用Chrome浏览器打开开发人员工具。

  设置cookie,rep是获得响应的对象

  rep.set_cookie(键,值,...)

  rep.set_signed_cookie(key,value,salt ='加密盐',max_age = none,...)

  获取cookie

  request.cookies ['key']

  request.get_signed_cookie(key,default = rish_error,salt ='',max_age = none)

  为了进一步了解cookie的用法,我们有一个从浅层到深处的案例。

  输入页面登录操作。登录成功后,页面会跳跃并提示登录成功。同时,将cookie以钥匙值对传递到浏览器。当输入时,浏览器将确定如果有cookieotherwise,则用户将再次登录,从而意识到登录页面和主页之间的连接。

  从下面的图可以看出,因为找不到饼干,它们跳到页面上。正确登录后,返回主页

  实际上,我们必须在登录主页后运行页面,并且有很多页面。由于实现函数相同(即,多页面通过cookie关联),因此我们需要制作一个函数装饰符。(RESQUEST)(RESQUEST)功能装饰中的相应功能会尽快调用。

  步骤1:功能装饰

  第2步:

  当我们输入时,因为浏览器找不到cookie,根据redirect('/login/?next = {}'。格式(next_url))跳了

  本质

  结论:以上是Django首席CTO注释为所有人编辑Django的相关内容的摘要,我希望为您提供帮助!如果您解决了问题,请与更多关心此问题的朋友分享它?