PHP中cookie常识点进修
什么是cookiecookie,即小饼干,是生涯在用户署理端(赏识器是最常见的用户署理)的一些数据片断。赏识网页时,赏识器会将 当前页面有用的 cookie放在哀求的头部发送随处事端。 cookie构成cookie由以下几部门构成: domain,cookie所属的域名。赏识器发送cookie时,会搜查cookie所属的域名,符合才会发送。赏识器会将tlanyan.me域下的cookie发送到www.tlanyan.me可能dev.tlanyan.me的页面哀求中,但不会发送给www.baidu.com。同样,dev.tlanyan.me的cookie不能发送给tlanyan.me,由于限制了域名为dev子域。 path,cookie所属路径。配置为/author中的cookie不会发送到/category路径下,可是配置路径为/的cookie会发送到全部页面哀求。 name,cookie的名称(键名)。 value, cookie的值(内容)。 expires,逾期时刻。 secure,是否仅在https时才会传送该cookie。 httponly,是否只用作http转达用。当配置为true时,赏识器端的剧本说话将无法会见到该cookie。 cookie的用途cookie首要用在以下方面: http是无状态的协议,为了维持会话必要特另外数据做标志,cookie是最常用的本领。常见的PHPSESSID和JSESSIONID这两类cookie,别离用在PHP和Java web应用中维持会话。 有些数据必要存放在客户端,cookie是一种选择。用户勾选“下次不再提醒”后,该符号可生涯到客户端,再次会见措施读取设定再抉择是否表现。跟着HTML 5的遍及,这部门成果正逐步被localStorage代替。 PHP端的cookie操纵读取cookie可以通过$_COOKIE超全局变量读取到用户端传来的全部cookie。$_COOKIE是一个数组,可以遍历读取发送过来的cookie的名称和值。赏识器只发送了cookie的键值随处事端,故而无法读取到cookie的domain/path/exipres等信息,由于。 PHP提供了setcookie函数来发送cookie到客户端。setcookie的函数署名是: 参数与cookie的构成内容相对应: expires默以为0,暗示仅当前会话有用,用户封锁赏识器后该cookie将被破除;path默以为当前页面路径,即网址最后一个反斜杠前的部门;domain默以为当前页面的域名,假如要扩大行使范畴,可配置为父级域名可能顶级域名; httponly默以为false,提议配置为true停止XSS进攻。 删除cookie,只必要配置cookie的expires为已往的时刻戳即可,譬喻 time() – 3600。以是要删除foo这个cookie,代码可觉得 cookie的精采实践从cookie字面意思便可看出,生涯的是数据片断。web开拓中cookie行使的频率较量高,应该多加以领略。以下是一些行使cookie的精采实践: 不该该在cookie中生涯过大和过多的数据; cookie在客户端和传输中是明文可见的,不该该在cookie中生涯敏感信息; 为了站点和用户安详,尽也许将cookie的httponly属性配置为true; cookie是客户端完全节制的,也属于外部输入,处事端不行盲目信托,应对其举办过滤。 其他 cookie是随哀求发送而来,随相应而配置到客户端。领略了这个进程,就可以大白一些新手常见的题目,譬喻以下代码: 在未配置foo这个cookie的环境下,第5行运行会堕落。缘故起因在于setcookie是配置本次相应的cookie信息,必要赏识器吸取到相应并配置后,才气在后续的哀求中附带上该cookie,并没有回响到本次哀求上。 同理,cookie存在于哀求和相应的头部信息中,而头部应该在哀求正文之前,以是setcookie的函数上下文行使限定同header函数,即:在此之前不能已经发送过相应正文。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |