`

cookie和会话(二)

    博客分类:
  • php
 
阅读更多

会话

    除了能够在客户机和服务器之间发送少量信息外,还允许跟踪用户在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');

分享到:
评论

相关推荐

    分布式架构下的会话追踪实践【基于Cookie和Redis实现】

    本实践将探讨如何在分布式环境中实现会话追踪,主要采用Cookie和Redis这两种技术手段。 首先,我们要理解会话(Session)的概念。在Web开发中,会话是一种在用户浏览器与服务器之间维持状态的技术,允许跨多个HTTP...

    cookie 会话的操作

    以下是对"Cookie会话的操作"这一主题的详细阐述。 Cookie是一种在客户端(用户的浏览器)存储小量数据的技术。它们由服务器发送到用户的浏览器,并由浏览器在后续的请求中回发给服务器。主要有以下几个知识点: 1....

    cookie-session, 基于简单cookie的会话中间件.zip

    cookie-session, 基于简单cookie的会话中间件 cookie会话 基于简单cookie的会话中间件。用户会话可以通过 Cookies 以两种主要方式存储: 在服务器上或者在客户端上。 这个模块在cookie中存储会话数据,而像 express...

    PHP 会话控制 cookie 基础教程

    ### PHP 会话控制 cookie 基础教程 #### Cookie 概述与作用...正确的使用 Cookie 能够增强网站的功能性和安全性,而错误的使用则可能导致数据泄露和其他安全风险。因此,在开发过程中合理设置和使用 Cookie 非常关键。

    使用Cookie进行会话管理.docx

    接着,我们来看两种常见的会话保持技术:Cookie和Session。 1. **Cookie**:这是一种客户端技术,由服务器创建并在客户端(用户的浏览器)上存储数据。每当用户通过浏览器请求服务器资源时,浏览器会自动将对应的...

    F5会话保持

    2. 基于Cookie的会话保持:这种方法是使用Cookie来保持会话,服务器在客户端的Cookie中存储一些信息,以便识别客户的身份。F5支持多种基于Cookie的会话保持方法,包括: 2.1 cookie插入模式:在这个模式下,F5会在...

    会话技术 之 cookie , session.pdf

    会话技术主要涉及两个概念:Cookie和Session。会话指的是用户开启浏览器,访问网站,并且在不关闭浏览器的前提下,访问多个链接和资源的过程。会话技术的使用主要是为了解决HTTP协议无状态性的限制,即每次HTTP请求...

    Cookie和Session会话技术笔记

    会话技术简单介绍,会话可以简单的理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。会话过程中要解决的一些问题?每个用户与服务器进行交互的过程中,...

    express-socket.io-session, socket.io 共享基于cookie的会话中间件.zip

    express-socket.io-session, socket.io 共享基于cookie的会话中间件 express-socket.io-sessionsocket.io 共享基于cookie的会话中间件。 使用英镑表示的&gt; 4.0.0 和英镑&gt; 1.0.0,不支持向后兼容。帮助我注意错误或者...

    SANGFOR_AD_V5.2_Cookie会话保持配置及说明指导书.pdf

    本文档是《SANGFOR AD V5.2 Cookie会话保持配置及说明指导书》,主要针对深信服公司的AD产品,详细阐述了如何配置和理解Cookie会话保持功能。这份指南由深信服科技有限公司编写,旨在帮助用户有效管理和维护用户的...

    Session Cookie的HttpOnly和secure属性

    当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。...

    论文研究-一种基于cookie会话保持的LVS集群系统.pdf

    针对基于源IP会话保持的IPVS在高速代理上网环境中存在的会话失效和负载不均衡问题, 研究了LVS系统的设计原理与实现方法, 并结合Web应用中cookie会话保持机制, 提出了基于cookie会话保持的改进方案。实验结果表明, ...

    cookie、session会话技术

    cookie、session会话技术

    经典收藏Cookie和Session

    #### 二、会话Cookie与持久Cookie的区别 - **会话Cookie(临时Cookie)**: - **定义**:这种类型的Cookie只在用户当前会话期间有效。 - **生命周期**:会话Cookie的生命周期较短,当用户关闭浏览器时,这些Cookie...

    Python-pycookiecheat从浏览器的已验证会话中获取Cookie以便在Python脚本中使用

    `pycookiecheat`是一个方便的Python库,它允许我们从已经验证的浏览器会话中提取Cookie,然后在Python脚本中使用这些Cookie来模拟登录状态。 首先,让我们深入了解一下什么是Cookie。Cookie是服务器发送到用户...

    Servlet会话机制(cookie and session)

    本文将深入探讨Cookie和Session两种主要的会话管理方式,并结合一个名为"ShoppingCar"的示例来阐述它们在实际应用中的工作原理。 **一、Cookie** Cookie是由服务器发送到客户端(浏览器)的一小段信息,然后由...

    Cookie与Session机制

    为了解决这一问题,开发了两种主要的会话跟踪技术——Cookie和Session。 #### 二、Cookie机制 ##### 1. Cookie的概念 Cookie是一种简单的机制,用于在客户端存储信息以便后续的请求中使用。它最初是由Netscape...

    cookie会话技术

    ### Cookie会话技术详解 #### 一、Cookie概述 **Cookie**是一种常用的数据存储机制,主要应用于Web开发中,用于跟踪用户的浏览行为或保存用户的登录状态等信息。它通过将少量的信息存储在客户端(通常是浏览器),...

Global site tag (gtag.js) - Google Analytics