chr*_*ude 1 javascript cookies
我正在构建一个Web应用程序,并注意到其他Web应用程序(特别是gmail)使用cookie,如果您没有启用cookie,它会将您注销.知道这些cookie用于什么,它们是如此重要吗?网络应用中的Cookie是否有任何常见用途?
甲饼干是一小片从网站(服务器侧)发送并存储在用户的web浏览器,而用户浏览该网站的数据(名称-值对)的。尽管 HTTP 协议具有无状态特性,但 Cookie 旨在提供有关用户交互的有状态信息。Cookie 可以根据其性质进行分类。可以根据您希望 cookie 具有的功能来选择 cookie 的类型。
会话 cookie,也称为内存 cookie 或临时 cookie,仅存在于临时内存中,而用户浏览网站时。(在java中,会话cookie可以通过对请求对象调用getSession()来创建)。当用户关闭浏览器时,Web 浏览器通常会删除会话 cookie。此类 cookie 可用于在导航期间但在同一会话中维护与用户相关的数据。用户可以在不影响偏好的情况下在网站上来回切换,但当浏览器关闭或会话超时时,所有偏好都将丢失。
如果您未设置 max-age,持久性 cookie 的持续时间将超过用户会话。要在用户会话之外保留 cookie,您必须为该 cookie 设置 Max-Age。Cookie 必须有数据(名称-值对),每次用户访问该网站时都会将其发送回服务器。这可用于记录重要信息,例如用户最初如何访问该网站或做出的偏好等。持久性 cookie 可用于在导航期间维护与用户相关的数据,可能跨越不同时间的多次访问。持久性 cookie 存储用户相关数据,这些数据将用于将来访问网站。持久性 cookie 可用作购物车,用户可以在浏览整个网站时或将来在其中存储想要购买的商品。
安全 cookie 启用了安全属性,并且只能通过 HTTPS 使用,以确保 cookie 在从客户端传输到服务器时始终加密。这使得 cookie 不太可能通过窃听而遭受 cookie 盗窃。除此之外,所有 cookie 均受浏览器的同源策略约束。 当您询问 Gmail cookie 机制时,是的,Gmail 正在使用这种安全的 cookie 机制来存储用户名和随机令牌作为您登录的凭据。是的,当您成功输入正确的用户名和密码并说“是”以记住我的密码时,它不会将您的原始密码存储在安全 cookie 中,它会为您的用户名生成一个随机数(令牌)作为登录 cookie,除了标准会话管理 cookie 并将用户名和随机数作为密码存储在其数据库中。该 cookie 不能被其他设备使用,因为它使用同源策略。用户名和令牌成对存储在数据库表中。当用户再次访问该站点时,登录cookie将自动从浏览器的请求对象中发送到服务器,然后服务器在数据库中验证用户名和令牌。如果这对存在,用户被视为已通过身份验证。使用的令牌将从数据库中删除。生成一个新的令牌并使用用户名存储在数据库中,并通过响应对象中的新登录 cookie 发给用户。如果该对不存在,则登录 cookie 将被忽略。不允许通过此机制进入的用户访问某些受保护的信息或功能,例如更改密码、查看个人身份信息 (PII)。要执行这些操作,用户必须首先成功提交一个普通的用户名/密码登录表单,当您尝试执行这些被禁止的操作时,该表单将自动弹出。由于这种方法允许用户从不同的浏览器或计算机获得多个记住的登录信息。生成一个新的令牌并使用用户名存储在数据库中,并通过响应对象中的新登录 cookie 发给用户。如果该对不存在,则登录 cookie 将被忽略。不允许通过此机制进入的用户访问某些受保护的信息或功能,例如更改密码、查看个人身份信息 (PII)。要执行这些操作,用户必须首先成功提交一个普通的用户名/密码登录表单,当您尝试执行这些被禁止的操作时,该表单将自动弹出。由于这种方法允许用户从不同的浏览器或计算机获得多个记住的登录信息。生成一个新的令牌并使用用户名存储在数据库中,并通过响应对象中的新登录 cookie 发给用户。如果该对不存在,则登录 cookie 将被忽略。不允许通过此机制进入的用户访问某些受保护的信息或功能,例如更改密码、查看个人身份信息 (PII)。要执行这些操作,用户必须首先成功提交一个普通的用户名/密码登录表单,当您尝试执行这些被禁止的操作时,该表单将自动弹出。由于这种方法允许用户从不同的浏览器或计算机获得多个记住的登录信息。不允许通过此机制进入的用户访问某些受保护的信息或功能,例如更改密码、查看个人身份信息 (PII)。要执行这些操作,用户必须首先成功提交一个普通的用户名/密码登录表单,当您尝试执行这些被禁止的操作时,该表单将自动弹出。由于这种方法允许用户从不同的浏览器或计算机获得多个记住的登录信息。不允许通过此机制进入的用户访问某些受保护的信息或功能,例如更改密码、查看个人身份信息 (PII)。要执行这些操作,用户必须首先成功提交一个普通的用户名/密码登录表单,当您尝试执行这些被禁止的操作时,该表单将自动弹出。由于这种方法允许用户从不同的浏览器或计算机获得多个记住的登录信息。
大多数现代浏览器都支持 HttpOnly 属性。在受支持的浏览器上,仅在传输 HTTP(或 HTTPS)请求时才会使用 HttpOnly 会话 cookie,从而限制来自其他非 HTTP API(例如 JavaScript)的访问。此限制减轻但不能消除通过跨站点脚本 (XSS) 窃取会话 cookie 的威胁。此功能仅适用于会话管理 cookie,不适用于其他浏览器 cookie。
第三方 cookie 是属于与地址栏中显示的域不同的域的 cookie。它主要用于通过跟踪用户偏好和浏览器历史来判断其倾向并相应地向他出售某些东西的广告。