简单聊聊SESSION

 1.简介

    1.官方是这么定义的,在计算机中,尤其是在网络应用中,称为会话控制。

    2.session是存储在服务端的临时存储技术。

2.机制

    服务端与用户建立一个会话的时候,会生成一个session_id作为唯一标识,并生成一个对应文件名的session文件保存信息,session_id保存在用户的cookie里面。

    当客户端向服务器发起请求,调用session的时候,会生成一个唯一标识:session_id,session_id会通过http的首部字段setcookie,保存在客户端的cookie里面,在下一次请求中会根据cookie中保存的session_id找到对应的session,获取上一次状态信息。在这里面,session_id贯穿始末。

              粗略画个流程图(session以file文件保存的情况下):

Session原理


    由图知,如果客户端禁用了cookie,会导致session无法使用,原因:session_id不能保存在cookie里面,客户端的每次请求服务端,服务端收到请求后,没找到session_id,就会重新创建session.解决方法是通过其他方式将sessionID传给客户端:

    1. 重写URL:

         ①:修改php.ini

                   session.use_trans_sid=1

                   session.use_only_cookies=0

                   session.use_cookies=1

 3.Sssion的一些应用

      1.session_id可以自己设置:

       在php中可以在session_start()前使用 session_id()来配置session_id,如果在php.ini文件中配置了session.save_handler=file,那么session会以文件的形式保存在硬盘中,一个会话对应一个session文件,seesion_id作为文件的名称,保存的位置可以在php.ini上的session.save_path上看到

      2. session可以改变存储位置

       Session也可以存储在redis、memcache,数据库等等中,php中改变配置文件的session.save_handler和session.save_path的值,如redis:       session.save_handler = redis和session.save_path=tcp://127.0.0.1:6379

    

4.Php.ini中相关session的含义

    1.session.save_handler = files   #session的存储方式

    2.session.use_cookies= 1       #使用cookies在客户端保存会话

    3.session.use_only_cookies = 1  #去保护URL中传送session id的用户

    4.session.name = PHPSESSID    #session名称(默认PHPSESSID)

    5.session.auto_start = 0 #不启用请求自动初始化session

    6.session.cookie_lifetime = 0 #cookie存活时间(0为直至浏览器重启,单位秒)

    7.session.cookie_path = / #cookie的有效路径

    8.session.cookie_domain = #cookie的有效域名

    9.session.cookie_httponly = #httponly标记增加到cookie上(脚本语言无法抓取)

    10.session.serialize_handler = php #PHP标准序列化

    11.session.gc_probability =1

    12.session.gc_divisor =1000 #建议设置1000-5000

    13.概率=session.gc_probability/session.gc_divisor(1/1000)

    14.session.gc_maxlifetime =1440 #过期时间(默认24分钟,单位秒)

    15.session.bug_compat_42 = off #全局初始化session变量

    16.session.bug_compat_warn = off

    17.session.referer_check = #防止带有ID的外部URL

    18.session.entopy_length = 0 #读取的字节

    19.session.cache_limiter = {nocache,private,pblic} #HTTP缓冲类型

    20.session.cache_expire = 180 #文档过期时间(分钟)

    21.session.use_trans_sid = 1 #trans_sid支持(默认0)

    22.session.hash_function = 0 #hash方法{0:md5(128 bits),1:SHA-1(160 bits)}

    23.session.hash_bits_per_character = 5 #当转换二进制hash数据奥可读形式是,每个字符保留位数

    24.ession.save_path = "/var/lib/php/session" #session id存放路径

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容