Abr*_*kes 26 php arrays security session login
我想知道$ _SESSION数组是如何工作的.如果我有很多用户使用我的网站,我是否需要为每个用户设置一个子阵列?比如我现在有
$_SESSION['userid'] = $userid;
$_SESSION['sessionid'] = $sessionid;
$_SESSION['ipaddress'] = $ipaddress;
Run Code Online (Sandbox Code Playgroud)
但为了应对更多用户,我需要制作一个多维数组吗?
$_SESSION[$userid]['sessionid'] = $sessionid;
$_SESSION[$userid]['ipaddress'] = $ipaddress;
Run Code Online (Sandbox Code Playgroud)
$ _SESSION全局是按客户端还是整体处理的?在登录时设置$ _SESSION ['userid']会将上一个用户踢出并启动最新登录用户吗?
Flu*_*feh 47
不会$_SESSION.为每个用户创建一个单独的分隔符.这一切都是由服务器完成的,您不必担心它.编写代码时,请将其$_SESSION视为网站上只有一个用户.
编辑:实际上,在考虑它时,这是一个非常好的问题.问这些问题很好,这意味着你正在认真思考你的代码是如何真正起作用的.继续问这些事情,并继续测试.我觉得有一天你会写一些很棒的代码.
所以在这个说明中,这是来自apache站点的一些信息:
什么是会话?
会话接口的核心是一个键和值对表,可以跨浏览器请求访问.根据使用会话的应用程序的需要,可以将这些对设置为任何有效字符串.
在服务器上保持会话
Apache可以配置为跟踪存储在特定服务器或服务器组上的每个用户会话.此功能类似于典型应用程序服务器中可用的会话.
如果已配置,则会通过使用存储在cookie中的会话ID来跟踪会话,或者从URL查询字符串中嵌入的参数中提取会话ID,如典型的GET请求中所示.
从Sessions上的PHP文档:
PHP中的会话支持包括一种在后续访问中保留某些数据的方法.这使您可以构建更多自定义应用程序并增加网站的吸引力.
访问您网站的访问者被分配了唯一的ID,即所谓的会话ID.这可以存储在用户端的cookie中,也可以在URL中传播.
会话支持允许您在$ _SESSION超全局数组中的请求之间存储数据.当访问者访问您的站点时,PHP将自动检查(如果session.auto_start设置为1)或您的请求(显式通过session_start()或通过session_register()隐式检查)是否已随请求发送特定会话ID.如果是这种情况,则重新创建先前保存的环境.