回话跟踪技术Cookie

一、会话控制

为了使得网站可以跟踪客户端与服务器之间的交互,保存和记忆每个用户的身份和信息,我们需要一种强有力的解决方案,这样就产生了会话控制。
HTTP是一个无状态的协议,此协议无法来维护两个事务之间的联系。
当一个用户请求一个页面后再请求另外一个页面时,HTTP无法告诉我们这两个请求是来自同一个人。
会话控制思想就是能够在网站中跟踪一个变量,我们可以跟踪变量,就可以做到对用户的支持,并根据授权和用户身份显示不同内容,不同页面。

二、什么是cookie?

cookie是在http协议下,服务器或脚本可以维护客户端信息的一种方式。
cookie是web服务器保存在用户浏览器上的小甜饼(一个很小的文本文件),她可以包含有关用户的信息,常用于保存用户名,密码,个性化设置,个人偏好记录等。
当用户访问服务器时,服务器可以设置和访问cookie的信息。
cookie保存在客户端,通常是IE或Firefox浏览器的cookie临时文件夹中,可以手动删除。
Cookie是利用了网页代码中的HTTP头信息进行传递的,浏览器的每一次网页请求,都可以伴随Cookie传递
注意:如果浏览器上cookie 太多,超过了系统所允许的范围,浏览器也会自动对它进行删除。

三、设置cookie

bool setcookie(string name,[string value,[int expire,[string path,[string domain,[int secure]]]]]);
    name   设置cookie的名字.(必须)
    value 设置cookie的值.
    expire 设置cookie的过期时间和日期,用一个标准的Unix时间标记,可以用time()函数取得,以秒为单位.
    可选参数path, domain, secure
        path :服务器端的有效路径,设置为“/”表示这个域中所有目录都可以被访问读取。
        domain :设定cookie有效域名
        secure :设置是否仅在https安全连接时才发送cookie到客户端,0或1。
例子:

setcookie("user","tangcaiye",time()+60*60);

四、接收和使用cookie

PHP对cookie有很好的支持,和form表单一样,在接收的时候PHP会自动从web服务器接收HTTP头并且分析它。接收的时候和表单接收一样
例子:

echo $_COOKIE["username"];

五、删除Cookie
要删除一个已经存在的cookie,有两个办法:

调用只带有name参数的setcookie,那么名为这个cookie将被从客户机上删除;
    例子:

    setcookie(“MyCookie”);

设置Cookie的失效时间为time()或time()-1
    例子:

    setcookie("username","admin",time()-1);

    注意:
        time()减多少没有关系,只要是过期时间就行,那么这个Cookie在这个页面的浏览完之后就被删除了 (其实是失效了)。
        当一个Cookie被删除时,它的值在当前页仍然有效。
        如果要把cookie设置成在浏览器关闭后就失效。那么可以直接把expiretime设为0, 或者不设置此值。例:setcookie("name","value",0)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值