首页 / PHP / 用于php应用程序的cookie与会话
用于php应用程序的cookie与会话
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用于php应用程序的cookie与会话,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1801字,纯文字阅读大概需要3分钟。
内容图文
![用于php应用程序的cookie与会话](/upload/InfoBanner/zyjiaocheng/696/a96b07798b4a46668ef17ab1ce3083ee.jpg)
在实现php登录系统会话或cookie时会有什么好处?
解决方法:
浏览器cookie:
>在客户端(浏览器)和服务器(PHP)之间共享
>除其他外,这意味着“用户可以直接读/写数据,你无法控制或限制这个”
>尺寸有限(4K)
>在每个页面请求中完整发送
PHP会话:
>仅存储在服务器上
>可以比饼干大得多
>通过小cookie或请求参数访问
PHP会话在后台创建一个cookie(默认情况下名为PHPSESSID,可配置为session_name()),因此您可以使用cookie.会话可以是configured不使用cookie,但是这是一个相当复杂的解决方法,从cookie支持实际上是一个问题.它的作用:重写它可以在输出中找到的所有URL,附加?PHPSESSID = your_session_id给它们.问题:它曾经错过了一些URL,而且URL看起来很难看(恕我直言).我很久没见过非cookie的PHP会话(自2002年以来).
PHP会话与cookie不同,但是在默认配置中,它们使用cookie来存储会话数据的“索引”/“指针”.会话数据存储在PHP服务器上,当您有现有的会话ID时,脚本可以访问相应的数据;而对于纯cookie,您必须将数据保存到cookie本身. Cookie受大小限制,并在每个页面请求时发送,因此只发送几个字节长的cookie并将数据存储在服务器上是有意义的.
例:
$_COOKIE: {
'PHPSESSID' => 'a123456ebdf123'
}
$_SESSION: {
'user_name' => 'Piskvor',
8 => 'sadfsadfsdf',
'huge block of text' => '(a huge block of text could be here,
as PHP sessions can usually be bigger than the measly 4K
allowed for a cookie)'
}
/tmp/php_sessions/sess_a123456ebdf123 (a file on server, note the name):
(whatever you see in $_SESSION above, passed through serialize())
这也意味着您永远不应该存储您不希望用户看到或修改的cookie数据 – 例如如果你的代码设置了一个登录用户的cookie:Piskvor,甚至是is-admin:1,你就无法阻止用户使用内置的浏览器工具.将此存储在会话变量中更安全,因为数据不直接暴露给用户,除非您的代码允许 – 所有用户看到的都是会话ID(会话ID不完美,请参阅“会话劫持”) – 但它们比cookie更安全.
编辑TL; DR人群:使用会话时,他们通常由cookie支持,但它们不是同一个东西.我建议使用会话(出于上述原因;请注意这通常意味着“通过cookie”).
内容总结
以上是互联网集市为您收集整理的用于php应用程序的cookie与会话全部内容,希望文章能够帮你解决用于php应用程序的cookie与会话所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。