php之cookie

<?php

    /**cookie**/

    /**
     Cooki是一个独立的语言的存在,也就是说,不论是php还是jsp下的cookie,其实本质都是一样的.javascript也能读取的到.Cookie并不是这这些语言实现的,而这些语言则是实现对cookie的操作,即发送HTTP指令,浏览器收到指令便会操作Cookie,并返回给服务器.因此cookie是浏览器来操作的.
    
    
    **/
    
    Bool setcookie(string $name[,string $vlaue[, int $expire =0[, string $path[, string $domain[,bool $secure = false[,bool $httponly = false ]]]]]])

    /**
        第一个参数是cookie的名称 即是它的一个键值.
        第二个参数是cookie的值,参数这空时cookie为空.由于把cookie会值设置为false时候,浏览器会尝试着去删除cookie,所以在设置cookie保存true 和 false 的时候不应该使用boolean值,用 0  1.
        第三个参数是设置cookie的过期的时间,这个值很重要,
        第四个参数是用来设置cookie的一个存储的目录.
        第五个参数是用来设置cookie的域名,在ie下 包涵点号在内的小于等于5的短域名如果带有domain这个参数,会导致cookie设置失效
        第六个参数是用来设置cookie的一个加密设置,默认是false,如果设置为true,只有使用HTTPS,这个COOKIE才会被设置,所以,通常情况下不设置此参数或使用默认的值false,
        第七个参数是表示是否用http来访问cookie.如果为1ortrue,客户端的javascript就无法操作这个cookie,使用些参数可以减少XSS的攻击的风险,但注意,不是所有的浏览器都支持这个参数,此参数只有PHP5.2以上的版本有效.

        要注意的是:
        函数有一个返回的值.如果是false,代表设置失败,true代表设置成功,但是它们只能做为一个参考,不代表客户端一定能接收到.
        由php有当前页面设置的Cookie是不能立即生效的,要等到下一个页面才能看到.这是由于设置的这个页面的cookie由服务器传送给客户端,在下一面页面才能把COOKIE从客户的机器里面取出来传回给服务器,如果是javaScript设置的,是立即生效的.
        Cookie没有显式的删除函数,如果想删除cooke 应该将cookie的expire设置为过期的时间 如1个小时前, 或者这null
    **/

?>

posted @ 2014-10-31 23:41  savey  阅读(110)  评论(0)    收藏  举报
savey:better life,do it best