【session】

①、session.save_handler = memcache
session.save_handler 定义了来存储和获取与会话关联的数据的处理器的名字,默认是files

②、session.save_path string
session.save_path 定义了传递给存储处理器的参数。如果选择了默认的 files 文件处理器,则此值是创建文件的路径。默认为 /tmp
session.save_path = "tcp://127.0.0.1:11211,tcp://127.0.0.1:11212"

③、session.name string
session.name 指定会话名以用做 cookie 的名字。只能由字母数字组成,默认为 PHPSESSID

④、session.auto_start boolean
session.auto_start 指定会话模块是否在请求开始时自动启动一个会话。默认为 0(不启动)

⑤、session.serialize_handler string
session.serialize_handler 定义用来序列化/解序列化的处理器名字 默认使用 php

⑥、session.gc_probability integer
session.gc_probability 与 session.gc_divisor 合起来用来管理 gc(garbage collection 垃圾回收)进程启动的概率。默认为 1

⑦、session.gc_divisor integer
session.gc_divisor 与 session.gc_probability 合起来定义了在每个会话初始化时启动 gc(garbage collection 垃圾回收)进程的概率。
此概率用 gc_probability/gc_divisor 计算得来。例如 1/100 意味着在每个请求中有 1% 的概率启动 gc 进程。session.gc_divisor 默认为 100。

⑧、session.gc_maxlifetime integer

session.gc_maxlifetime 指定过了多少秒之后数据就会被视为“垃圾”并被清除。
垃圾搜集可能会在 session 启动的时候开始( 取决于session.gc_probability 和 session.gc_divisor)

NOTICE:
如果不同的脚本具有不同的 session.gc_maxlifetime 数值但是共享了同一个地方存储会话数据,
则具有最小数值的脚本会清理数据。此情况下,与 session.save_path 一起使用本指令

⑨、session.referer_check string

session.referer_check 包含有用来检查每个 HTTP Referer 的子串。
如果客户端发送了 Referer 信息但是在其中并未找到该子串,则嵌入的会话 ID 会被标记为无效。默认为空字符串

⑩、session.entropy_file string

session.entropy_file 给出了一个到外部资源(文件)的路径,该资源将在会话 ID 创建进程中被用作附加的熵值资源。
例如在许多 Unix 系统下都可以用 /dev/random 或 /dev/urandom。 在 Windows 上自 PHP 5.3.3 起加入了此功能。
设置 session.entropy_length 为非零的值将使 PHP 使用 Windows Random API 作为熵值源。
Note: 自 PHP 5.4.0 起,默认情况下, session.entropy_file 在 /dev/urandom 或 /dev/arandom 可用的时候使用它们。 在 PHP 5.3.0 中此指令默认留空。

11、session.entropy_length integer

session.entropy_length 指定了从上面的文件中读取的字节数。默认为 0(禁用)

12、session.use_strict_mode boolean

session.use_strict_mode specifies whether the module will use strict session id mode.
If this mode is enabled, the module does not accept uninitialized session ID.
If uninitialized session ID is sent from browser, new session ID is sent to browser.
Applications are protected from session fixation via session adoption with strict mode. Defaults to 0 (disabled).

13、session.use_cookies boolean

session.use_cookies 指定是否在客户端用 cookie 来存放会话 ID。默认为 1(启用)

14、session.use_only_cookies boolean

session.use_only_cookies 指定是否在客户端仅仅使用 cookie 来存放会话 ID。。
启用此设定可以防止有关通过 URL 传递会话 ID 的攻击。此设定是 PHP 4.3.0 添加的。自PHP 5.3.0开始,默认值改为1(启用)

15、session.cookie_lifetime integer

session.cookie_lifetime 以秒数指定了发送到浏览器的 cookie 的生命周期。值为 0 表示“直到关闭浏览器”。默认为 0。

16、session.cookie_path string

session.cookie_path 指定了要设定会话 cookie 的路径。默认为 /。

17、session.cookie_domain string

session.cookie_domain 指定了要设定会话 cookie 的域名。默认为无,表示根据 cookie 规范产生 cookie 的主机名。

18、session.cookie_secure boolean

session.cookie_secure 指定是否仅通过安全连接发送 cookie。默认为 off

19、session.cookie_httponly boolean

禁止 JavaScript 访问会话 cookie。 此设置项可以保护 cookie 不被 JavaScript 窃取。

虽然可以使用会话 ID 来作为防范跨站请求伪造(CSRF)的关键数据, 但是不建议你这么做。
例如,攻击者可以把 HTML 源代码保存下来并且发送给其他用户。
为了安全起见,开发者不应该在 web 页面中显示会话 ID。 几乎所有的应用都应该对会话 ID cookie 设置 httponly 为 On。

20、session.cache_limiter string

session.cache_limiter 指定会话页面所使用的缓冲控制方法(none/nocache/private/private_no_expire/public)。默认为 nocache。

21、session.cache_expire integer

session.cache_expire 以分钟数指定缓冲的会话页面的存活期,此设定对 nocache 缓冲控制方法无效。默认为 180。

22、session.use_trans_sid boolean

session.use_trans_sid 指定是否启用透明 SID 支持。默认为 0(禁用)

Note:
基于 URL 的会话管理比基于 cookie 的会话管理有更多安全风险。
例如用户有可能通过 email 将一个包含有效的会话 ID 的 URL 发给他的朋友,

23、session.hash_function mixed

session_hash)function 用于指定生成回话ID的算法,0代表md5,1代表sha1
或者用户总是有可能在收藏夹中存有一个包含会话 ID 的 URL 来以同样的会话 ID 去访问站点

当我们使用memcached存储session时,如何通过session_id获取session数据

默认session中的key被存储在前缀memc.sess.key之下。
因此,如果要想通过memcached获取session数据,我们必须指定
memc.sess.key.session_id获取session数据。

获取memcached中存储的session数据
举例:
session_start();
$session_id = session_id();
$key = "memc.sess.key." . $session_id;
$key = $session_id;
例如:$mem->get($key);

php之memcached存储session配置、存储、获取的更多相关文章

  1. [转]为什么不能用memcached存储Session

    以下内容转自:http://www.infoq.com/cn/news/2015/01/memcached-store-session -------------------------分割线---- ...

  2. 为什么不能用memcached存储Session

    Memcached创建者Dormando很早就写过两篇文章[1][2], 告诫开发人员不要用memcached存储Session.他在第一篇文章中给出的理由大致是说,如果用memcached存储Ses ...

  3. 为什么不能用memcached存储Session?

    Memcached创建者Dormando非常早就写过两篇文章[1][2].告诫开发者不要用memcached存储Session. 他在第一篇文章中给出的理由大致是说,假设用memcached存储Ses ...

  4. session的存储方式和配置

    Session又称为会话状态,是Web系统中最常用的状态,用于维护和当前浏览器实例相关的一些信息.我们控制用户去权限中经常用到Session来存储用户状态,这篇文章会讲下Session的存储方式.在w ...

  5. 使用jQuery获取session中存储的list集合

    在网上查找了很多关于jQuery获取session都不可得,如果大家有更好的方式,欢迎留言 这里是使用jQuery发送Ajax请求到后台获取session jsp中没有代码 js代码 <scri ...

  6. 基于php使用memcache存储session的详解(转)

    web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内增加一条语句就可以了,不过前提你需要 ...

  7. Laravel 5.1 中 Session 数据存储、访问、删除及一次性Session实例教程

    1.Session的由来及其实现 HTTP协议是无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系的.也就是说我们无法在服务器端确认两次请求是否是同一个用户所为,这为我们在一些应用场景中实现 ...

  8. PHP使用Memcache来存储session 其他【转载】

    PHP使用Memcache来存储session 分类:PHP 时间:2015年3月30日 很多时候一个完整的系统可能运行在多个服务器上,如果这多个服务器之间需要共享session的话,那么PHP默认的 ...

  9. 138.更改session的存储机制

    修改session的存储机制: 默认情况下,session数据时存储到数据库中,当然也可以将session数据存储到其他地方.可以通过设置SESSION_ENGINE来更改session的存储位置,这 ...

随机推荐

  1. JAVA(三)JAVA常用类库/JAVA IO

    成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...

  2. golang:mime.Decode、mime.DecodeHeader

    最近在做邮件解析的相关工作,在使用mime.Decode/mime.DecodeHeader时有些疑问. 有些搞不懂mime.Encode和mime.EncodeHeader的区别.

  3. bootstrap 3.0 LESS源代码浅析(一)

    我一直以为Bootstrap的LESS源代码精髓在mixins.less,所以这个系列主要也是讲解mixins.less的. 什么是mixins? 混入,或者翻译成混合.官网的说法是:我们可以定义一些 ...

  4. Go Revel - Cache(缓存)

    revel在服务器端提供了`cache`库用以低延迟的存储临时数据.它缓存那些需要经常访问数据库但是变化不频繁的数据,也可以实现用户会话的存储. ##有效期 一下三种方法为缓存元素设置过期时间: 1. ...

  5. Spring Security 认证流程

    请求之间共享SecurityContext原因:

  6. 使用apktool.jar工具反编译和回编译Android APK 终端命令模式

    1.工具准备 工具可以网上搜索下载新版本,也可以从这里Download:https://github.com/FlymeOS/tools/blob/lollipop-5.1/reverses/apkt ...

  7. Docker for Windows 代理设置(linux container)

    https://blog.csdn.net/mzhangsf/article/details/79747979

  8. Eclipse 中修改tomcat设置内存大小

    修改1: 在Eclipse中下面Servers双击Tomcat Server... 然后点击General InformAtion 下的Open launch configuration: 会弹出Ed ...

  9. Oracle 11g:bin目录下3个特效权限的文件:root用户所有者 + s权限

  10. GoLang之strings、buffers、bytes、binary包

    strings包 strings包的使用举例: package main import s "strings" import "fmt" var p = fmt ...