gmarsi Asked: 2020-06-05 05:21:26 +0800 CST 2020-06-05 05:21:26 +0800 CST 2020-06-05 05:21:26 +0800 CST cookie 与会话 [关闭] 772 我正在开发一个网站,现在是开始使用 cookie 的时候了。 目前,我使用会话进行用户注册,但我想知道: 会话和 cookie 有什么区别? 它们的优点和缺点是什么,你可以两者都做吗? 安全方面有区别吗? php 3 Answers Voted Francisco Romero 2020-06-05T05:45:35+08:002020-06-05T05:45:35+08:00 主要是最大的区别之一是,用one存储时的信息session是保存在服务器端,而用one保存时的信息cookie是保存在客户端。 此外,当您关闭浏览器(或手动销毁会话)时,会话将被销毁,而 cookie 在浏览器中保留一段时间(可能是几周甚至几个月)。 因此,可以说sesiones比 更安全cookies。 Best Answer Xerif 2020-06-05T14:00:03+08:002020-06-05T14:00:03+08:00 尽管它们可能看起来相似,但它们具有不同的功能并且是互补的,但您不应仅限于使用其中一种。 会议: 会话的想法是在后续请求中为某些数据提供持久性。 它们允许在会话期间单独存储用户信息。默认情况下,通过 Cookies 将向 PHP 指示会话是否存在的会话标识符发送给浏览器,该标识符也用于检索会话数据。会话信息默认存储在session.save_path环境变量中设置的路径的文件中。 会话的最长时间由环境变量session.gc_maxlifetime决定,其默认值为 1440 秒(24 分钟)。也就是说,如果此时没有收到包含带有会话 id 的 cookie 的 http 请求,则会向垃圾收集器建议,另一方面,可以手动消除会话。您还可以通过删除session.save_path定义的目录中的所有会话文件轻松删除所有会话,即从所有用户中删除。 饼干 cookie 的想法是在 cookie 的整个生命周期内为某些数据提供持久性。 cookie 的当前操作在2011 年的RFC 6265中定义。 Cookies 允许信息通过name=value数据对存储在浏览器中,这些数据在每个请求中发送到服务器。 Cookie 是 HTTP 标头的一部分,它们用于正常创建或修改它们。 cookie 的生命周期可以在创建时通过定义Max-Age属性来确定,如果此属性不存在,则 cookie 的持续时间将持续到浏览器关闭。另一方面,浏览器可能不遵守为 cookie 设置的时间。没有设置最大时间限制,在引号之间“它可以持续只要我们想要”。 不建议使用 Cookie 存储敏感信息,因为它是客户端发送的信息(并且可以更改),并且必须始终怀疑任何外部数据。 Radames E. Hernandez 2020-06-05T13:26:36+08:002020-06-05T13:26:36+08:00 cookie和会话之间的区别: Cookies 它们在客户端执行和创建,可以在用户的浏览器中存在很长时间,例如 1 年。唯一不好的是,它们很容易被具有 javascript 知识的人在未经您同意的情况下操纵。 会话 它们在服务器端执行,它们比 cookie 更安全,因为它们不能在客户端使用 javascript 进行操作,并且会话的生命周期是直到用户关闭浏览器,例如“ Chrome ”、“资源管理器”。 2 用于不同的事情,例如,如果您希望用户登录,即使他们关闭计算机,您也希望他们保持登录状态,您可以使用cookies,但如果您只希望会话持续只要他们在网站内,您可以sesiones毫无问题地做到这一点。 我希望它能帮助你做出决定。
主要是最大的区别之一是,用one存储时的信息
session
是保存在服务器端,而用one保存时的信息cookie
是保存在客户端。此外,当您关闭浏览器(或手动销毁会话)时,会话将被销毁,而 cookie 在浏览器中保留一段时间(可能是几周甚至几个月)。
因此,可以说
sesiones
比 更安全cookies
。尽管它们可能看起来相似,但它们具有不同的功能并且是互补的,但您不应仅限于使用其中一种。
会议:
会话的想法是在后续请求中为某些数据提供持久性。
它们允许在会话期间单独存储用户信息。默认情况下,通过 Cookies 将向 PHP 指示会话是否存在的会话标识符发送给浏览器,该标识符也用于检索会话数据。会话信息默认存储在session.save_path环境变量中设置的路径的文件中。
会话的最长时间由环境变量session.gc_maxlifetime决定,其默认值为 1440 秒(24 分钟)。也就是说,如果此时没有收到包含带有会话 id 的 cookie 的 http 请求,则会向垃圾收集器建议,另一方面,可以手动消除会话。您还可以通过删除session.save_path定义的目录中的所有会话文件轻松删除所有会话,即从所有用户中删除。
饼干
cookie 的想法是在 cookie 的整个生命周期内为某些数据提供持久性。
cookie 的当前操作在2011 年的RFC 6265中定义。
Cookies 允许信息通过name=value数据对存储在浏览器中,这些数据在每个请求中发送到服务器。
Cookie 是 HTTP 标头的一部分,它们用于正常创建或修改它们。
cookie 的生命周期可以在创建时通过定义Max-Age属性来确定,如果此属性不存在,则 cookie 的持续时间将持续到浏览器关闭。另一方面,浏览器可能不遵守为 cookie 设置的时间。没有设置最大时间限制,在引号之间“它可以持续只要我们想要”。
不建议使用 Cookie 存储敏感信息,因为它是客户端发送的信息(并且可以更改),并且必须始终怀疑任何外部数据。
cookie和会话之间的区别:
Cookies 它们在客户端执行和创建,可以在用户的浏览器中存在很长时间,例如 1 年。唯一不好的是,它们很容易被具有 javascript 知识的人在未经您同意的情况下操纵。
会话 它们在服务器端执行,它们比 cookie 更安全,因为它们不能在客户端使用 javascript 进行操作,并且会话的生命周期是直到用户关闭浏览器,例如“ Chrome ”、“资源管理器”。
2 用于不同的事情,例如,如果您希望用户登录,即使他们关闭计算机,您也希望他们保持登录状态,您可以使用
cookies
,但如果您只希望会话持续只要他们在网站内,您可以sesiones
毫无问题地做到这一点。我希望它能帮助你做出决定。