【问题标题】:Javascript cookies vs php cookiesJavascript cookie 与 php cookie
【发布时间】:2010-04-01 17:33:10
【问题描述】:

javascript cookie 和 php cookie 有区别吗?

【问题讨论】:

    标签: php javascript


    【解决方案1】:

    HTTP Cookies 不是 PHP 的特性,也不是 Javascript 的特性:它们只是允许开发人员操作它们的编程语言。


    JS 和 PHP 最大的区别在于:
    • Javascript 在客户端运行
    • PHP 在服务器端运行

    但是 cookie 还是一样的:它们被定义为一个标准 -- 参见 RFC 2965


    不过,请注意,现代浏览器实现无法从 Javascript 访问的 cookie *(请参阅 [`setcookie`][3] 的 `httponly` 选项)* - 这意味着,取决于浏览器以及 cookie 的方式设置,它可能无法从 Javascript 访问。

    这是一种安全措施——与“js cookies”和“php cookies”没有区别:它只是某些 cookie 的属性。

    【讨论】:

    • 并且httponly 属性可以很容易地由客户端使用一些免费的插件来更改,例如 EditThisCookie Chrome 扩展。
    【解决方案2】:

    不,cookie 由 RFC spec 定义。

    【讨论】:

      【解决方案3】:

      cookie 只是存储在客户端计算机上的文件,它通常包含名称、值和到期时间。 Cookie 在 HTTP 页面请求的标头中发送,因此它们不会立即可用(除非您使用输出缓冲)。 Cookie 适用于非敏感数据,因为它们很容易通过客户端浏览器设置找到。

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

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

      【讨论】:

        猜你喜欢
        • 2010-12-29
        • 1970-01-01
        • 1970-01-01
        • 2015-07-13
        • 2012-07-21
        • 1970-01-01
        • 2011-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多