zoukankan      html  css  js  c++  java
  • cookie和session

    1、必须在任何输出语句之前调用setcookie();
    2、可以为每个用户设置多个cookie,每个高达3-4k字节;
    3、缺省情况下,当浏览器关闭时cookie过期(对"session cookie").

    若需要设置持久性的cookie,请在cookie过期时传递第三个参数;
    通常与当前时间戳相对应,设置一个代表秒数的整数;
    如果没有过期参数传递,则cookie是会话cookie;在浏览器关闭时过期

    date("Y:m:d ",strtotime());
    通过设置setcookie的第二个参数为false来完成删除,也可以通过设置一个过期时间来完成删除
    setcookie("count",42,time()-1);

    在JS中,设置和删除cookies的语法模板
    //设置cookie(带或者不带截止日期)
    document.cookie = "name=value";
    document.cookie = "name=value;expires=date";
    //删除cookie
    document.cookie = "name=value;expires=Thu, 01-Jan-1970 00:00:01 GMT";

    设置三个JavaScript cookies
    //设置三个JavaScript cookies
    document.cookie = "firstname=Barney";
    document.cookie = "lastname=Rubble";
    document.cookie = "city=Bedrock";
    alert(document.cookie);


    JavaScript的Cookie库
    函数 描述
    Cookie.clear() 删除当前页面所有的cookie
    Cookie.exists('name') 如果当前页面有特定的cookie,则返回true
    Cookie.get("name") 返回给定的cookie值,若没有则返回null
    Cookie.remember(element) 记住给定表单控件DOM元素的状态,可以通过一个可选
    Cookie.remember(element) cookie名称来记住该信息,或者将自动创建一个cookie的名称
    Cookie.remove("name") 从当前页面删除给定的cookie
    Cookie.set("name","value") 将给定的cookie设置给定的值;可以传递一个可选的
    Cookie.set("name","value",expire) 整数天数,直到cookie到期(默认值=会话 cookie)
    Cookie.toArray() 以联合数组的形式返回页面中所有的cookies
    Cookie.toArrayNames() 以数组的形式返回页面中的所有cookies的名称

    session:一种抽象概念,用于表示特定Web浏览器和服务器之间的一些列http请求和响应
    http不支持session的概念,但是php、ASP.NET和多数Web语言都支持session

    session vs cookie
    cookie是存储在客户端的数据
    session的数据存储在服务器上(每个客户端仅有1个session)

    session通常建立在cookie之上:
    客户端存储的唯一数据是持有唯一session ID的cookie
    每个页面请求中,客户端发送其session ID cookie,服务器使用此来查找和检索客户端的会话数据

    session和cookie的对比:

    生存期 会话在用户注销或关闭浏览器之前可以一直存在;Cookie也可以生存那么长,或者知道给定固定的超时时间(持久性)
    数据存储位置 session数据存储在服务器上(除了session ID cookie之外);cookie将数据存储在用户的浏览器中
    安全性 会话很难被恶意用户篡改或删除,但COOKIE很容易
    隐私 session保护私人信息不被计算机的其他用户看到;但是cookie做不到
    1、会话存储在服务器上时,cookie以文本文件格式存储在用户的计算机上。
    2、虽然cookie不能容纳多个变量,但会话可以。
    3、可以为cookie设置过期,因为只要浏览器处于打开状态,会话就会保持活动状态。由于数据在会话中存储在服务器中,因此不允许访问用户。
    4、Cookie用于跟踪用户活动,而会话主要用于登录/注销。
    

      

    除非销毁session并重新生成用户的session ID,否则之前的session将保留
     1 session_destroy();

    2 session_regenerate_id(TRUE);

    3 session_start(); 

  • 相关阅读:
    非正式介绍Python(二)
    用js采集网页数据并插入数据库最快的方法
    一张图轻松记住PHP的*类*以及private和protected的区别
    从php到浏览器的缓存机制,不得不看!
    webpack 兼容低版本浏览器,转换ES6 ES7语法
    DEDE织梦 后台特别卡,有时响应超时的解决办法
    vue iview Select bug,在低版本浏览器中报错
    mysql_connect 等待时间长,修改连接地址为127.0.0.1即可
    看完这篇文章才对【GIT】有了大彻大悟的认识
    一次请求对多条数据进行排序的算法(二)
  • 原文地址:https://www.cnblogs.com/katu/p/11470211.html
Copyright © 2011-2022 走看看