Javascript cookies和php cookies

问题描述:

javascript cookies和php cookies之间有区别吗?Javascript cookies和php cookies

HTTP Cookies不是PHP的功能,也不是Javascript的一个功能:这些只是允许开发者操纵它们的编程语言。


JS和PHP之间最大的区别在于:

  • 上的JavaScript客户端
  • PHP运行在服务器端

但饼干仍然是相同的运行:它们被定义为一个标准 - 见RFC 2965


不过,请注意,现代浏览器实现未从Javascript 访问的cookies(见setcookiehttponly选项) - 这意味着,根据浏览器,以及一个cookie中设定的方式上,它可能无法从Javascript访问。

这是一种安全措施 - 而不是“JS饼干”和“PHP饼干”之间的区别:这只是一些饼干的财产。

+0

而'httponly'属性可以很容易地被客户端使用一些免费的添加像_EditThisCookie_ Chrome扩展。 – Ankit 2015-12-29 22:51:02

不,Cookie由RFC spec定义。

Cookie只是存储在客户端计算机上的文件,通常包含名称,值和到期日期。 Cookie在HTTP页面请求的标题内发送,因此它们不会立即可用(除非使用输出缓冲)。 Cookie对于非敏感数据非常有用,因为它们可以通过客户端浏览器设置轻松找到。

Cookie也可用于创建存储在服务器上的Session变量。在这种情况下,cookie值是服务器用来标识其值的索引。对于更敏感的数据,这是一种更好的方法,因为客户端计算机上只存在“无意义”的值。

考虑到这一点,Cookie和会话数据(以及GET和POST数据)都是超级全局变量,这意味着它们可以被JavaScript和PHP使用。同样,唯一的问题是cookie可能不会立即可用,这取决于脚本的工作方式和输出缓冲设置。