- 浏览: 160874 次
- 性别:
- 来自: 杭州
文章分类
最新评论
会话
除了能够在客户机和服务器之间发送少量信息外,还允许跟踪用户在WEB应用程序中操作的进程这就是其特性。
会话要使用会话cookie(过期时间设置为0的cookie),并且将一个称谓会话ID的唯一标示符与用户关联起来。
1:基本用法
在想要激活会员的脚本在接近开头的地方调用session_start函数来启动会话。
session_start();
if(isset($_SESSION['counter'])){
$_SESSION['counter']++;
}else{
$_SESSION['counter'] = 1;
}
var_dump($_SESSION);echo '<br />';
var_dump(session_id());echo '<br />';
var_dump(session_name());echo '<br />';
var_dump(session_get_cookie_params());
输出如下:
array(1) { ["counter"]=> int(3) }
string(26) "vb2clv0n6m9cghj36rv1kfuti5"
string(9) "PHPSESSID"
array(5) { ["lifetime"]=> int(0) ["path"]=> string(1) "/" ["domain"]=> string(0) "" ["secure"]=> bool(false) ["httponly"]=> bool(false) }
可以使用session_id()来访问会话ID。session_name()函数显示会话的名称,也就是php返回给客户机保存会话ID的cookie名称。这个可以再php.ini中设置。也可以使用这个函数来设置一个新的名字。最后session_get_cookie_params显示与这个会话相关联的cookie细节。
会话携带了与它相关的所有数据。
example:
1.php
session_name('jcyzone');
session_start();
$_SESSION['name'] = 'jcy';
$_SESSION['pwd'] = '123456';
print_r($_SESSION);echo '<br />';
var_dump(session_id());echo '<br />';
var_dump(session_name());echo '<br />';
var_dump(session_get_cookie_params());
2.php
session_name('jcyzone');
session_start();
print_r($_SESSION);echo '<br />';
var_dump(session_id());echo '<br />';
var_dump(session_name());echo '<br />';
var_dump(session_get_cookie_params());
运行1.php再运行2.php两者内容一样
2:配置php的会话
php.ini里面有许多配置选项可以控制php的会话的操作方式
1>session.auto_start默认是0如果改为1,那么每次在php中请求新页面都会起动一个会话。
2>session.name这个是发送到客户机的保存会话ID的cookie名称。所有连接到页面的用户使用同一个会话名称PHPSESSIONID,但是会话ID不一样。
3>session_save_handler这控制如何控制存储会话的数据。默认files,php内部机制将数据存在本地服务器系统的一个文件中,可以使用这个选项编写自己定制会话数据存储机制。
4>session_save_path如果是用默认机制files这个选项指定要存储的目录Unix默认/tmp,在Window上默认为c:\php\sessiondata
5>session_gc_probability,session_gc_divisor这两个是控制会话垃圾收集(garbage collection)。当收到新的 页面请求时。php有时候会遍历所有会话文件并清理那些已经过期的会话对于任何请求发生如下概率的(session_gc_probability / session_gc_divisor)* 100%默认是1和100,你可以修改这些值来反应Web流量,流量很高1%是不够的,如果流量低可以考虑7%-10%。
6>session.cookie_lifetime,session.cookie_path,session.cookie_domain,session.cookie_secure。这些额外参数相应于setcookie来控制或限制cookie的可用性。默认情况下过期时间为0,而且会话跨这个域有效。
7>session.use_cookies 这个选项控制php是否可以使用cookie传输,默认是True(1)。
8>session.use_only_cookies默认是0,因为将会话ID作为GET参数传输可能产生安全问题,所以可能希望现实低禁用php使用cookie之后的机制,可以设置1来实现。
这些可以在php.ini里面设置,如果为一个虚拟服务器无法访问php.ini可以使用php的ini_set 函数
eg:ini_set('session.save_path','/home/webapps/sess_data');
发表评论
-
实时编辑表格
2014-06-03 10:08 751实时编辑表格 -
手把手教你在Ubuntu上安装Apache、MySql和PHP
2013-07-11 15:25 01:首先安装apache:打开终端(ctrl+Alt+t), ... -
正则取a
2013-04-17 16:29 0<a[^>]*href=["'](?[^ ... -
操作字符串
2013-04-09 15:42 735strpos() - Find the position ... -
php oracle CLOB
2013-03-05 10:49 21541.php insert oracle 的CLOB字段 ... -
ckeditor配置
2013-04-09 15:42 1175// 界面语言,默认为 'en'config.langua ... -
格式化文件大小
2013-04-09 15:41 826function formatBytes($bytes) ... -
PHP显示Deprecated: Assigning the return value of new by reference is deprecated in
2013-04-09 15:41 898昨晚用Spreadsheet_Excel_Rea ... -
PHP的位运算
2013-01-09 10:34 837$a & $b and(按位与) $a | $b o ... -
cookie和会话(三)
2012-12-10 22:30 8821:如何传输会话ID 会 ... -
cookie和会话(一)
2012-12-05 23:04 1360cookie解决了跟踪各个访问者或用户,服务器利用cook ... -
(转)匹配中文
2012-11-27 17:13 1000在javascript中,要判断 ... -
php+jquery+ajax+json简单小例子
2012-11-22 23:52 75037直接贴代码: <html> <titl ... -
PECR
2012-11-20 22:13 985经常使用的分隔符是正斜线(/), hash符号(#) 以 ... -
几个经典函数
2012-11-20 00:19 9331:是否为邮件 function is_email($em ... -
html2fpdf HTML转换为PDF
2012-11-14 12:33 6482下载html2fpdf包: downurl:http://s ... -
检查浏览器版本类
2012-11-09 13:11 770class BrowserDetector { var $U ... -
匹配链接
2012-10-30 11:43 807有一段类似下面的代码,匹配所有的链接地址: $code = ... -
PHP获取类名及所有函数名
2012-08-24 11:48 11763PHP获取类名及所有函数名1.获取行号、文件路径文件名、类名、 ... -
获取<meta>中的content标签内容
2012-02-24 09:04 2028php函数:$tags = get_meta_tags ( ' ...
相关推荐
cookie-session, 基于简单cookie的会话中间件 cookie会话 基于简单cookie的会话中间件。用户会话可以通过 Cookies 以两种主要方式存储: 在服务器上或者在客户端上。 这个模块在cookie中存储会话数据,而像 express...
这是两个视频,主要讲述了cookie的设置,访问,删除的一些操作;会话的设置,删除的一些操作,及cookie和会话的一些区别及联系。对一些学生对cookie和会话的理解有帮助。
PHP 会话控制 cookie 基础教程
介绍cookie种类以及在整个会话中工作原理和过程,内容介绍比较通俗易懂,主要针对在了解网页访问中,一些解析和破解等问题、
使用Cookie进行会话管理.docx
会话技术简单介绍,会话可以简单的理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。会话过程中要解决的一些问题?每个用户与服务器进行交互的过程中,...
express-socket.io-session, socket.io 共享基于cookie的会话中间件 express-socket.io-sessionsocket.io 共享基于cookie的会话中间件。 使用英镑表示的> 4.0.0 和英镑> 1.0.0,不支持向后兼容。帮助我注意错误或者...
针对基于源IP会话保持的IPVS在高速代理上网环境中存在的会话失效和负载不均衡问题, 研究了LVS系统的设计原理与实现方法, 并结合Web应用中cookie会话保持机制, 提出了基于cookie会话保持的改进方案。实验结果表明, ...
cookie、session会话技术
当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。...
NULL 博文链接:https://hello-nick-xu.iteye.com/blog/2103300
cookie会话技术
一、cookie机制和session机制的区别 ...... 二、会话cookie和持久cookie的区别 ......
购物车的四种做法(hidden、url重写、cookie、会话)
第五章 cookie与session会话技术思维导图.png
pycookiecheat:从浏览器的已验证会话中获取Cookie,以便在Python脚本中使用
最好为快速会话维护一个 htttpOnly cookie(以验证用户并通过 XSS 抢夺 cookie 来防止重放攻击),同时在客户端可访问和修改的 cookie 中存储一些会话状态。 客户端会话在req.clientSession ,类似于 connect/...
会话跟踪技术cookie,session
SANGFOR_AD_V5.2_Cookie会话保持配置及说明指导书.pdf
PHP会话控制SESSION与COOKIE