Php setcookie()和$\u会话与SESSION.use\u only\u cookies的区别是什么?
我们可以通过Php setcookie()和$\u会话与SESSION.use\u only\u cookies的区别是什么?,php,session,cookies,session-cookies,Php,Session,Cookies,Session Cookies,我们可以通过setcookie()向访问者的浏览器发送一些cookie。使用$\u会话['value']定义值时,如果使用会话。仅使用\u cookies,会话将仅存储在访问者的浏览器上。这两种情况有什么不同 编辑:显然,它们基本上是不同的。我只是说他们的申请不同。我们可以在客户端设置一个值,该值可以在任何时候(当然在到期之前)使用$\u COOKIE或$\u SESSION进行检索;e、 g.识别返回的访客。cookie存储在客户端(即“在”客户端/浏览器中)。 _会话被序列化,然后存储在服务
setcookie()
向访问者的浏览器发送一些cookie。使用$\u会话['value']
定义值时,如果使用会话。仅使用\u cookies
,会话将仅存储在访问者的浏览器上。这两种情况有什么不同
编辑:显然,它们基本上是不同的。我只是说他们的申请不同。我们可以在客户端设置一个值,该值可以在任何时候(当然在到期之前)使用$\u COOKIE或$\u SESSION进行检索;e、 g.识别返回的访客。cookie存储在客户端(即“在”客户端/浏览器中)。
_会话被序列化,然后存储在服务器上。此数据与会话id关联。例如,当使用默认文件系统会话处理程序时,文件名反映会话id。客户端(或脚本)必须在后续请求中提供该会话id,以便php的会话管理可以/将再次加载会话数据。其中一个方法是使用cookies<代码>会话。使用_only_cookies=On让php的会话机制只在cookies中查找会话ID。这些是完全不同的事情:
setcookie()
在浏览器中设置cookie,但这通常不是会话cookie。使用session\u start()
创建的会话cookie$\u SESSION[]
设置/获取服务器端会话的值会话。仅使用cookies
将确保会话id仅与cookie一起发送,而不是在url中发送否,当您设置
会话时。仅使用\u cookies
,会话中的数据不会存储在客户端。此设置仅影响在客户端和服务器之间传输会话ID的方式
基本上有两种方式传输此会话ID:
- 基于Cookie的
- 基于URL(使用GET变量,如PHPSESSID=…)
当使用设置
会话时。仅使用\u cookies
,它阻止使用URL传输会话ID,只能使用cookie。当我们设置会话时。仅使用\u cookies,会话也将存储在客户端。这确实是我的问题。不,只有会话id作为cookie传输;不是会话数据本身,这是一个有趣的问题(至少对我来说)。那么,您的意思是,我们只在客户端存储会话ID,当我们运行$\u会话时,我们从访问者的浏览器中读取会话ID,并根据ID从服务器读取会话的相应值?@Ali use\u only\u cookies只影响会话ID,而不影响会话数据。如果您将此设置为tue,PHP将仅使用存储在Cookie中的会话ID来标识用户。会话数据始终存储在服务器上。看见