对PHP服务器会话的概念性理解

时间:2012-09-20 16:56:05

标签: php webserver

作为一名工程师,我通常需要一场音乐会理解才能使用某种东西。我觉得我理解会话的基础知识。我想知道那里的具体细节。

会话的限制是什么?

我如何操纵会话?什么可以明确地不对会话或与会话。

PHP使用哪些数据结构来定义和管理会话?

PHP会话是否与任何其他会话有任何重要意义?

我知道这些问题是一般性的,所以如果有人能够简单地建议一个好的资源,我会很感激。有很多信息,但它要么太基础,要么教授特定主题。

感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

这是一个很好的资源:http://php.net/manual/en/book.session.php

  • 会话的限制是什么?

我真的不知道你的意思。在什么情况下的局限性?

  • 如何操纵会话?

要操纵值,只需直接使用$_SESSION超全局。

  • 什么可以明确地不对会话或与会话一起做?

同样,没有上下文,很难理解你的意思。我想重要的一点是会话是暂时的,因此您无法明确存储您想要无限期保存的数据。

  • PHP使用哪些数据结构来定义和管理会话?

文件系统。

  • PHP会话是否与任何其他会话有任何重要意义?

另一场会议是什么?

答案 1 :(得分:2)

会话是服务器识别您的一种方式,因此他会向您发送自定义版本的页面,而不是为每个人发送始终相同的页面。

为了识别你,他告诉浏览器在你的计算机中保存一个带有简单文本的小文件,当你再次访问该页面时,如果浏览器发送了该文件,服务器会询问浏览器该文件,以及它包含预期的内容,服务器现在可以再次知道这是你。那是 cookies

维护会话(Cookie的一部分)的另一种方法是服务器在页面所有链接的URL中为您添加一个特殊的唯一标记。每当您浏览网站时,您访问的所有页面都会有该令牌,服务器会看到它并知道它是您向您提供的令牌,因此他知道它就是您了。

因此,无论是 Cookie 还是基于网址会话,服务器都必须保存有关已打开会话的信息,例如存储$_SESSION变量您在 PHP 中创建,如果您创建了这样一个变量,服务器会将其保存到一个文件中,稍后您将通过您的cookie或令牌内容识别该文件,当您重新访问该页面时,他将读取该文件并加载上次创建的$_SESSION变量。

答案 2 :(得分:1)

http://php.net是您提问的最佳来源

答案 3 :(得分:1)

PHP会话是一种非常好的方式,可以为您的网站提供不同用户的持久信息。

查看您可以使用的PHP session functions

你可以view examples of how to use sessions at php.net

会话通常与用户帐户相关联。用户可以登录您的站点,并创建用户会话以跟踪他们的信息并确保他们可以登录。

基本假设是会话安全,因为服务器知道正在进行的会话。通过HTTPS使用会话是一种相当安全的方法,可以让用户登录您的站点(没有HTTPS,您可能会面临session hijacking的风险。)

另一个基本功能是拥有关于给定用户的持久数据。因此,假设您想跟踪用户是否提交了表单,您可以这样做:

$_SESSION['form_submitted'] = TRUE;

现在,只要您想知道该特定用户是否已提交表单,您就可以检查该全局变量。所以会话(以与使用cookie相同的方式)允许你做一些真正很酷的事情,否则是不可能的。