php session相关
来源:互联网 发布:c语言迭代法解方程 编辑:程序博客网 时间:2024/06/07 06:08
1.session的保存位置,php.ini中的session.save_path=‘/tmp’,会保存在服务器的相应位置
2.session的生成机制,PHP在使用默认的 session.save_handler = files 方式时,PHPSESSIONID的生产算法原理如下:
hash_func = md5 / sha1 #可由php.ini配置
PHPSESSIONID = hash_func(客户端IP + 当前时间(秒)+ 当前时间(微妙)+ PHP自带的随机数生产器)
PHP源码中PHPSESSIONID实现片段:
gettimeofday(&tv, NULL);
if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &array) == SUCCESS &&
Z_TYPE_PP(array) == IS_ARRAY && zend_hash_find(Z_ARRVAL_PP(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **)&token) == SUCCESS)
{
remote_addr = Z_STRVAL_PP(token);
}
spprintf(&buf, 0, "%.15s%ld%ld%0.8F", remote_addr ? remote_addr : "", tv.tv_sec, (long int)tv.tv_usec, php_combined_lcg(TSRMLS_C) * 10);
switch (PS(hash_func))
{
case PS_HASH_FUNC_MD5:
PHP_MD5Init(&md5_context);
PHP_MD5Update(&md5_context, (unsigned char *) buf, strlen(buf));
digest_len = 16;
break;
case PS_HASH_FUNC_SHA1:
PHP_SHA1Init(&sha1_context);
PHP_SHA1Update(&sha1_context, (unsigned char *) buf, strlen(buf));
digest_len = 20;
break;
default:
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid session hash function");
efree(buf);
return NULL;
}
- php session相关
- php配置session相关知识
- PHP Session有效期的相关问题
- php.ini与cookie/session相关配置
- 解析php中session相关应用
- 4.php session vs cookie 和File操作相关
- PHP关于session浏览器丢失的相关问题
- session相关
- Session 相关
- Session相关
- Session 相关
- session相关
- session相关
- php session
- php session
- PHP Session
- PHP Session
- php session
- centos下的画图工具
- 数组指针和指针数组的区别
- apt rpm dpkg yum等软件包管理工具
- jBPM 5/jBPM 6 基本概念,示例介绍,深入理解,工作流应用开发指南
- HandlerThread的 使用
- php session相关
- ASP CMS 比较
- 异常
- 字符串转化
- 梁洛施公开严管三子虎招
- 关于WEB站点的安全
- C++中重载和覆盖的区别
- 姚博文 LVS
- Java获得泛型类型