欢迎光临
我们一直在努力

在WordPress中使用session

建站超值云服务器,限时71元/月

本文目录
[隐藏]

  • 11.什么是session?
  • 2
  • 3

1.什么是session?

先来看看维基百科对session的解释:http://zh.wikipedia.org/wiki/%E4%BC%9A%E8%AF%9D_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%9

在计算机科学领域来说,尤其是在网络领域,会话session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制,session在网络协议(例如telnet或FTP)中是非常重要的部分。

在不包含会话层(例如UDP)或者是无法长时间驻留会话层(例如HTTP)的传输协议中,会话的维持需要依靠在传输数据中的高级别程序。例如,在浏览器和远程主机之间的HTTP传输中,HTTP cookie就会被用来包含一些相关的信息,例如session ID,参数和权限信息等。

后面还有一小段:

在动态页面完成解析的时候,储存在会话中的变量会被压缩后传输给客户端的Cookie。此时完全依靠客户端的文件系统来保存这些数据(或者内存)。

在每一个成功的请求中,Cookie中都保存有服务器端用户所具有的身份证明(PHP中的session id)或者更为完整的数据。

虽然这样的机制可以保存数据的前后关联,但是必须要保障数据的完整性和安全性。

PHP.net将session称为“会话支持”,是这样解释的:

会话支持在 PHP 中是在并发访问时由一个方法来保存某些数据.从而使你能够构建更多的定制程序 从而提高你的 web 网站的吸引力.

一个访问者访问你的 web 网站将被分配一个唯一的 id, 就是所谓的会话 id. 这个 id 可以存储在用户端的一个 cookie 中,也可以通过 URL 进行传递.

会话支持允许你将请求中的数据保存在超全局数组$_SESSION中. 当一个访问者访问你的网站,PHP 将自动检查(如果 session.auto_start 被设置为 1)或者在你要求下检查(明确通过 session_start() 或者隐式通过 session_register()) 当前会话 id 是否是先前发送的请求创建. 如果是这种情况, 那么先前保存的环境将被重建.

总之,session可以让你的程序更安全、更高效。可惜的是,Wordpress核心并不支持session。下面这个示意图是不支持session的wordpress的在被已登录用户访问时的情况:

在WordPress中使用session

很容易理解,是吧?

基本上,每次加载页面 – 或在每次用户定位到新页面 – 程序都要从数据库中查询必要的信息,然后将其呈现给用户。

这可能也是Wordpress相对于支持session的CMS核心来说比较浪费服务器资源的原因之一。

那么,如果程序是支持session的呢?

假如程序支持session,我们设置为:

不为没登录的访客设置session;

为登录的用户设置session;

用户退出时销毁session。

那会是怎么样呢?看下面的示意图:

在WordPress中使用session

简而言之:一旦用户登录,session会将某些信息存储进一个全局数组,以减轻数据库的负担。

2.Wordpress是否支持session?

WordPress核心不支持session,它支持cookie。

3.如何让Wordpress支持session?

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 在WordPress中使用session
分享到: 更多 (0)