URL 中的会话 ID

也可以在 URL 中存储会话 ID。
这样做将使会话工作,即使对于在浏览器中禁用 cookie 的人也是如此。

<a href="NextPage.php?<?php echo SID; ?>">Next Page</a>

有两种方法可以将会话链接到用户。
我们或者需要使用 cookie,或者需要在 URL 中包含会话 ID。
一般来说,建议不要在 URL 中包含会话 ID,因为当用户复制 URL 时以及如果搜索引擎碰巧索引包含会话 ID 的 URL 时,这可能会导致问题。

对于禁用 cookie 的人,可以说他们有责任将网站添加到他们浏览器中的受信任列表中。
正如媒体经常声称的那样,Cookie 是危险的。

销毁会话

要销毁会话或者注销用户,可以使用 session_destroy()。
但是,我们还需要使用 cookie() 清除 cookie,如下所示:

setcookie ("PHPSESSID", "", time()-60*60*24*100); //make the browser delete the cookie
  session_unset();
  session_destroy();

如果我们打算创建一个新会话,则应改为使用 session_regenerate_id()。
仅当我们需要注销用户时才销毁会话。

它们是如何工作的

会话可以被认为是“变量”。
我们存储的值可以是电子邮件地址、登录详细信息(散列密码和用户名)中的任何内容。
这些值可以通过 $_SESSION 数组访问,并存储在服务器端,通常通过用户设备上的 cookie 链接。
要在 PHP 中创建会话,我们必须在声明任何会话值之前首先使用 session_start()。

下面是第一页,我们称之为 index.php:

<?php
session_start();
$_SESSION['UserName'] = 'Jacob';
?>
<a href="NextPage.php">Next Page</a>

以上将使 PHP 记住会话变量中的名称“Jacob”。
然后通过存储在用户设备上的 cookie 链接会话。

Cookie 是存储在用户设备本地的小型文本文件。
Cookie 通常用于记住用户何时登录。

NextPage.php 的内容:

<?php
session_start();
echo '<p>' . $_SESSION['UserName'] . '</p>';
?>

简单地从一个页面正常链接到下一个页面,PHP 会自动检索名为“PHPSESSID”的 cookie 中的会话 ID。

PHP:会话

在 PHP 中,会话是一种临时存储信息的有用方式。
一个例子是用户是否登录。

PHP 具有管理会话的内置函数,允许我们为 Web 应用程序创建登录系统和其他花哨的功能。

日期:2020-06-02 22:15:42 来源:oir作者:oir