通常情况下,会话(session)是指两个介质之间的通信框架。PHP会话用于在服务器上存储数据,而不是在用户计算机上存储。会话标识符或SID是一个独特的数字,用于在基于会话的环境中识别每个用户。SID用于将用户与其在服务器上的信息(如帖子、电子邮件等)链接起来。
会话比cookies的优势在哪里?
尽管cookies也用于存储与用户相关的数据,但它们存在严重的安全问题,因为cookies存储在用户的计算机上,因此攻击者可以轻松地修改cookie的内容。攻击者在cookie中添加有害数据可能导致应用程序崩溃。
除此之外,cookies还会影响网站的性能,因为每次用户查看页面时,cookies都会发送用户数据。每当浏览器请求该网站的URL时,该网站的所有cookie数据都会自动在请求中发送到服务器。
以下是PHP会话涉及的不同步骤:
启动PHP会话:第一步是启动会话。启动会话后,可以创建会话变量以存储信息。PHP的session_start()函数用于开始新会话。它还为用户创建了一个新的会话ID。
以下是启动新会话的PHP代码:
<?php
session_start();
?>
存储会话数据:使用$_SESSION[]超级全局数组以键值对的形式存储会话数据。存储的数据可以在会话生命周期内访问。以下是使用两个会话变量Rollnumber和Name存储会话的PHP代码:
<?php
session_start();
$_SESSION["Rollnumber"] = "11";
$_SESSION["Name"] = "Ajay";
?>
访问会话数据:首先调用session_start(),然后通过传递相应的键到$_SESSION关联数组,可以轻松地访问存储在会话中的数据。以下是访问具有两个会话变量Rollnumber和Name的会话数据的PHP代码:
<?php
session_start();
echo 'The Name of the student is :' . $_SESSION["Name"] . '<br>';
echo 'The Roll number of the student is :' . $_SESSION["Rollnumber"] . '<br>';
?>
output
The Name of the student is :Ajay
The Roll number of the student is :11
销毁整个会话:session_destroy()函数用于完全销毁一个会话。session_destroy()函数不需要任何参数。
<?php
session_start();
session_destroy();
?>
提示:
会话ID是由PHP引擎随机生成的。
会话数据存储在服务器上,因此不必随每次浏览器请求发送。
session_start()函数需要在页面的开头调用,在脚本在浏览器中生成任何输出之前。