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

如何将数据存储在cookie中(2023年最新共享)

时间:2023-03-08 22:41:05 网络应用技术

  简介:本文的首席执行官注释将介绍有关Django如何将数据存储在Cookie中的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  1. Java保存写作给cookie

  JSP程序片段如下:

  //将写作保存到cookie

  <<%

  字符串cookiename =“ sender”;

  cookie cookie = new cookie(cookiename,“ test_content”);

  cookie.setmaxage(10);//生存为10秒

  响应。addcookie(cookie);

  %>

  2.读出并取出cookie

  创建Cookie文件后,自然需要读取它。代码片段如下:

  <<%

  cookie cookie [] = request.getCookies();//阅读用户硬盘上的cookie,然后将所有cookie放在cookie对象数组中

  cookie scookie = null;

  字符串svalue = null;

  字符串sname = null;

  for(int i = 0; icookies.length-1; i ++ {//使用圆形句子遍历刚刚建立的cookie对象数组

  scookie = cookie;//在数组中取出cookie对象

  name = scookie.getName();//获取此cookie的名字

  svalue = scookie.getValue();//获取此cookie的内容

  %>

  <<%

  }

  %>

  名称值

  <%=名称%> <%= svalue%>

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

  例如,在我们引入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))跳了

  本质

  1. cookie设置

  2. cookie阅读

  3.注意饼干问题

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

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

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

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

  cookie和会话之间的区别:

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

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

  考虑使用安全性。

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

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

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

  5.因此,个人建议:

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

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

  保存数据并从JS到Cookie的数据的方法如下:

  功能GetCookieval(偏移)

  //获得cookie解码后的值

  {{{

  var endstr = document.cookie.indexof(“;”,offset);

  if(endstr == -1)

  endstr = document.cookie.length;

  返回unescape(document.cookie.substring(Office,endStr));

  }

  // ------------------------------------------------------------------------------------------------------------------------

  功能setCookie(名称,值)

  //设置cookie值

  {{{

  var expdate = new Date();

  var argv = setCookie.arguments;

  var argc = setCookie.arguments.length;

  var everes =(argc 2)?argv [2]:null;

  var Path =(ARGC 3)?argv [3]:null;

  var域=(argc 4)?argv [4]:null;

  var secure =(argc 5)?argv [5]:false;

  if(Expires!= null)expdate.setTime(expdate.getTime() +(Expires * 1000));

  document.cookie = name +“ =” +逃脱(value) +((expires == null)?

  +((路径== null)?

  +((secure == true)?” ;; secure':“”);

  }

  // ------------------------------------------------------------------------------------------------------------------------------------------------

  功能DelCookie(名称)

  //删除cookie

  {{{

  var exp = new Date();

  exp.setTime(exp.getTime()-1);

  var cval = getCookie(name);

  document.cookie = name +“ =” + cval +“; expires =” + exp.togmtring();

  }

  // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  功能GetCookie(名称)

  //获取cookie的原始价值

  {{{

  var arg =名称 +“ =”;

  var alen = arg.length;

  var clen = document.cookie.length;

  var i = 0;

  而(我上课)

  {{{

  var j = i + alen;

  if(document.cookie.substring(i,j)== arg)

  返回getCookieval(j);

  i = document.cookie.indexof(“”,i) + 1;

  如果(i == 0)休息;

  }

  返回null;

  }

  SetCookie(“用户名1”,99);

  警报(getCookie(“ username1”);

  结论:以上是首席CTO汇编的Django相关内容的摘要,请注意Django与cookie中存款数据的相关内容有何关系。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?