首页 >后端开发 >php教程 >PHP之cookie

PHP之cookie

WBOY
WBOY原创
2016-07-29 08:57:51900浏览

会话技术

cookie

允许服务器端脚本在浏览器存储数据的技术,
允许服务器向浏览器发送指令,用来管理存储在浏览器端的cookie数据
浏览器如果存储了某服务器所存储的cookie数据,请求时会带上cookie的数据

<code><span>//增、改</span><span>setcookie(key,val)</span>;
<span>//删</span><span>setcookie(key,<span>''</span>)</span>;
<span>//获取浏览器携带的cookie数据</span>
$_COOKIE<span>[key]</span></code>

特征:

  • 有效期:

    默认是临时cookie,也叫会话cookie,会话结束(浏览器关闭)就清除。可以通过设置时间戳(1970年第一秒起)确定生命期,在浏览器端时间以格林威治标准时间(GMT)作为标准

<code><span>setcookie(key,val,<span>time()</span>+<span>60</span>)</span>;
    <span>//代表保存1分钟,浏览器会检查是否失效</span><span>setcookie(key,val,<span>0</span>)</span>;
    <span>//默认会话</span><span>setcookie(key,<span>''</span>,<span>time()</span>-<span>1</span>)</span>;
    <span>//删除cookie</span><span>setcookie(key,val,PHP_INT_MAX)</span>;
    <span>//逻辑上表示永久有效</span></code>
  • 有效路径:
    默认在当前路径及其后代路径有效。(路径不是代码所在文件的本地磁盘路径,而是url请求的路径关系)
    不同路径下同名的cookie可同时存储于浏览器,浏览器会先查找当前目录内有效的cookie,再向上查找,所有有效的都会携带至服务器,服务器端形成$_COOKIE时,会出现重写效果,先出现的保留,
    可以通过设置setcookie()第四个参数为’/’表示站点根目录有效,即整站有效。有效路径由浏览器判断,有效路径设置时候服务器会告知浏览器
<code>    setcookie(<span>key</span>,val,<span>0</span>,<span>'/');</span></code>
  • 有效域:
    默认cookie仅仅在当前域下有效
    可以通过设置使cookie的有效域,扩展到某个一级域名下的所有子域
<code>    me.com           <span>//一级域名</span>
    lig.me.com       <span>//二级域名</span>
    bee.me.com       <span>//二级域名</span>
    setcookie(key,<span>val</span>,<span>0</span>,<span>''</span>,<span>'me.com'</span>);</code>
  • 是否仅安全传输
    默认不论浏览器发出的是http和https协议都会将有效的cookie携带给服务器
    可以通过设置第六个参数为true,表示激活仅安全传输,此时浏览器发送请求时若为http协议,就不会发送这些设置为仅安全传输的cookie,apache需要加载openssl模块才能使用https协议
<code>    setcookie(key,<span>val</span>,<span>0</span>,<span>''</span>,<span>''</span>,<span>true</span>);</code>
  • HTTPonly
    默认浏览器所存储的脚本可以被其它脚本调用处理
    通过设置第7个参数使得只能cookie只能在http请求中使用
<code>    setcookie(key,<span>val</span>,<span>0</span>,<span>''</span>,<span>''</span>,<span>false</span>,<span>true</span>);</code>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了PHP之cookie,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn