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

    先简单的说明下session和cookie的区别。

    1.session存放在服务器的文件中,或者是内存中。而cookie存在客服端。

    2.session比cookie安全

    3.session存放在服务器端,减少了客服端和服务器端之间的来回传输

    4.session的生命周期是发呆时间,即当用户访问使用session,重新计算。cookie的周期是一定的,到时间会自己销毁

    cookie

    cookie

    Cookie 是客户端技术,服务器把每个用户的数据以cookie的形式写给各自的浏览器

    默认的cookie文件目录 C:Documents and SettingsAdministratorcookie文件夹下

    创建cookie的方法

     

    setcookie("name","value","time");//name指的是cookie的名称。value指的是cookie的值,time指的是生命周期
    View Code

     

    获取cookie的值

    $_COOKIE['name']//name 指的是cookie名字
    //cookie的清除
    setcookie("name","","time")//设置生命周期小于当前时间即可。
    

     

    session

    Session 是一个服务器端技术,利用这个技术,为某个用户的浏览器创建一个独享的session文件

    由于session为用户浏览器 独享。

    一个会话对应一个session文件

     

    Session的默认文件路径 c:/windows/temp/

    可以通过session_save_path更改

     

    //创建session
    session_start();
    
    $_SESSION['name']=value;//
    
    //session的删除
    unset($_SESSION[]);
    

     

    SESSION保存的数据格式

    name|s:4:"TEST"; 

    name就是key值 

    表示数据类型

    表示数据的大小

    Session 可以保存所有的基本数据类型(dobule int object array string等)

     

     

     

    要使用session时,要初始化 session_start()

     

    session_destroy();//会把对应的session文件删掉

     

    Session的细节讨论

     

    Session数据默认存放的时间是1440sphp.in 可以配置的

     

    session.gc_maxlifetime = 1440这个时间是在1440内没有使用session文件,该session才会被视为垃圾。从而被回收,

     

    Session存放路径

     

    ;session.save_path = "/tmp"

     

    Session cookie的区别

     

    存放的地方不一样

     

    在使用session的时候要使用session_start();

     

    php.in session,auto_start=1会在某个页面添加session_start

     

     

    如果客户主机禁止了cookie 怎么实现session技术共享多个页面

    在每个链接的添加一个PHPSESSID同时 在每个页面加入

    If(isset($_GET[PHPSESSIONID])){

    Session_id()

    }

    Session_star();

    (2)使用常量SID

    (3)使用启用是否透明的sid支持。即可,这样设置,

    session.use_trans_sid = 1

    Session.name 用于设置设置session的名字

    可以通过session_name()获取

    默认配置的

    session.name = PHPSESSID

    session.use_trans_sid = 0 如果启用

    说明会给每个url加上一个PHPSESSID

    session_sava_path

     配置网站的session文件路径

    session.gc_probability = 1

    session.gc_divisor     = 100

    session.gc_maxlifetime = 1440 最大的生命周期 是发呆时间。

    垃圾回收机制 会删除千分之一的几率

    session.gc_probability /session.gc_divisor 

    上面三个配置共同作用。

    session.cookie_lifetime = 0

    cookie 的生命周期默认是表示关闭浏览器就消失、

    自定义会话处理器

    php.in设置一下

    Session.save.handler();

    session.save_handler = files/user/

     

     

     

     

  • 相关阅读:
    面向服务的体系架构 SOA(三) --- Zookeeper API、zkClient API的使用
    面向服务的体系架构 SOA(二) --- 服务的路由和负载均衡
    面向服务的体系架构 SOA(一) --- 基于TCP、HTTP协议的RPC
    eclipse集成dorado5插件
    java微信公众号开发token验证失败的问题及解决办法
    oracle使用中的一些问题
    JAVA设计模式之装饰者模式
    JAVA设计模式之观察者模式
    JDBC三层架构
    如何使用JDBC实现数据访问对象层(DAO)
  • 原文地址:https://www.cnblogs.com/tl542475736/p/3493163.html
Copyright © 2011-2022 走看看