没有cookie会话可以工作吗?如果是这样,在PHP中没有启用Cookie的情况下,会话如何工作?
我正在搜索会话和Cookie的主要区别,以及何时使用会话和Cookie。请澄清。感谢作为链接到的另一个用户,是的,他们可以,php有一些配置选项不使用Cookie,而是依赖于将会话id作为url的一部分传递。您可以手动执行此操作,也可以让PHP执行此操作。如果PHP设置为自动添加ID,那么它将使用输出缓冲来替换它在输出中检测到的任何URL,默认情况下,它会在某些标记(a、表单等)上执行此操作 请参见此处的选项:没有cookie会话可以工作吗?如果是这样,在PHP中没有启用Cookie的情况下,会话如何工作?,php,session,cookies,Php,Session,Cookies,我正在搜索会话和Cookie的主要区别,以及何时使用会话和Cookie。请澄清。感谢作为链接到的另一个用户,是的,他们可以,php有一些配置选项不使用Cookie,而是依赖于将会话id作为url的一部分传递。您可以手动执行此操作,也可以让PHP执行此操作。如果PHP设置为自动添加ID,那么它将使用输出缓冲来替换它在输出中检测到的任何URL,默认情况下,它会在某些标记(a、表单等)上执行此操作 请参见此处的选项: 会话。使用cookies布尔值 session.use\u cookies指定 模块
会话。使用cookies
布尔值
session.use\u cookies指定
模块将使用cookies在客户端存储会话id。
默认值为1(已启用)
会话。使用\u trans\u sid
布尔值
session.use_trans_sid是否
是否启用透明sid支持。默认值为0(已禁用)
session.trans\u sid\u标记
string
session.trans_sid_标记指定
HTML标记被重写,以包含透明sid时的会话id
支持已启用。默认为
a=href,area=href,frame=src,input=src,form=form是特殊标记。作为表单变量添加
并注意其警告:
注意:基于URL的会话管理具有额外的安全风险
与基于cookie的会话管理相比。用户可以发送一个
包含通过电子邮件发送给朋友的活动会话ID,或者用户可以
将包含会话ID的URL保存到其书签并访问
例如,始终使用相同会话ID的站点。自PHP以来
例如,完整URL路径由trans sid功能处理。以前的PHP只处理相对URL路径。重写目标
主机由session.trans\u sid\u主机定义
Cookies和会话
通常会话确实使用cookies。您询问会话和cookie之间的区别;虽然这两种方法并不具有可比性,但以下是关于它们的一些信息:
曲奇饼
Cookie是一种在浏览器存储中本地存储简单键/值对的方法,然后可以在浏览器重新启动之间保持,但用户可以擦除它们。Cookie的总容量不能超过4KB(请参阅)
从文档中:
会议
当您调用session\u start()
php检查cookies是否已经设置了“会话id”,如果没有,则设置一个。然后,它使用它来标识用户/会话,并允许您在服务器上临时保存属于此id的数据。每次调用session\u start时,它将填充$\u session,并在每个脚本结束时保存此数据。这意味着如果两个页面都使用会话,则无法同时加载它们。这里可以看到一些很好的会话示例:
会话本身没有限制,但受到其他因素的限制(请参阅)
总结
- 会话通常使用cookies
- Cookie数据存储在本地,会话数据存储在服务器上
- Cookie数据大小限制相对较小(4K),会话数据仅受其他因素的限制
- Cookie数据只是简单的键/值对,会话数据也可以是数组、对象
$value = 'something from somewhere';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
// Print an individual cookie
echo $_COOKIE["TestCookie"];