指南:本文的首席执行官注释将介绍Django如何通过cookie获取信息的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
当前情况是这样的:我提供一个 - 端口(地址:127.0.0.0.1:8000)。前台有一个网页(地址:127.0.0.1:5000),可以通过Ajax接口获取数据。到Cookie的背面。该怎么办?
背景是由django-rest-framework编写的(我不考虑,我应该写django并直接获取前端静态文件。)
您可以在前浏览器的响应标头信息中看到set-cookie信息,但浏览器无法使用。
为什么我需要保存cookie前端?因为其中一些必须记录用户的错误数,它们是通过会话保存的,并且生成的一次性代码也可以通过会话保存,以便后端将自动生成一个会话ID并将其保存在cookie中以返回前端。
目前,感觉饼干不应该是前台的交叉域问题。
cookie和会话之间的区别:
1. Cookie数据存储在客户的浏览器上,并且会话数据放在服务器上。
2. cookie不是很安全。其他人可以分析当地的饼干和饼干以欺骗
考虑使用安全性。
3.会话将在一定时间内存储在服务器上。访问次数增加后,它将占用服务器的性能
考虑到服务器的性能,应使用cookie。
4.单个cookie保存的数据不能超过4K。许多浏览器限制了一个站点以节省多达20个cookie。
5.因此,个人建议:
保持重要信息,例如登录信息作为会话
如果需要保留其他信息,您可以将其放入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))跳了
本质
按F12打开控制台。Right-Click在名称上并检查域。Domain与网页的域名相同。单击相同的域名,然后将pop -up小窗口拉到中间,以查看饼干的帐户。
1.按F12打开控制台。
2.右键单击名称并检查域。
3.域与网页的域名相同。
4.单击相同的域名,将弹出的小窗口拉到中间,您可以看到cookie的值。
5.您可以选择复制它以获取cookie。
当您访问网页以确定当前用户是否已登录时,该网站将验证cookie信息。因此,在此类型的网站上收集数据时,您需要同时发送cookie数据以确保网站验证cookie可以成功。
cookie如何来?您可以使用包装工具,然后打开浏览器以实现目标集合网站的登录操作,然后复制录制的cookie,粘贴到包装工具中,粘贴到您使用的集合软件中,或使用收集软件直接实施登录操作。
1. cookie设置
2. cookie阅读
3.注意饼干问题
1.当我们设置cookie时,我们需要注意:
编码的原因是,当用户名是变量时,该变量未指定属性:'noneype'对象没有属性“ split”异常
2.阅读cookie时,您需要注意:
假设我们在步骤1中设置的cookie值等于“ ABC123”,那么2中读取的内容是:b'ABC123',stringusercookie在1中用作用户名,但使用字符串的索引切片来处理处理。它并将其恢复为1的内容,然后才能使用。其中一种方法如下:
结论:以上是CTO首席执行官如何向所有人介绍Django的全部内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住要收集对该网站的关注。