PHPSESSID 始终在 URL 中(启用 cookie)


PHPSESSID always in URL (cookies enabled)

我有一个简单的身份验证脚本。它将比较从登录表单到数据库表用户的发布数据 - 如果成功,我将通过以下方式开始 sesssion:

session_start();
$_SESSION['login'] = "1";
$_SESSION['user'] = $_POST["user"];
$_SESSION['admin'] = "1";

问题是我总是在 URL 中有会话 ID(cookie 已启用)。PHP.ini 是这样设置的:

session.use_cookie = 1
session.use_only_cookie = 0
session.use_trans_sid = 1

我正在本地主机上运行它。

我希望我的会话优先于在 cookie 中获取会话 ID - 如果启用。仅当禁用 cookie 时才使用 URL 中的会话 ID。我已经读过它应该自动表现得像那样,但它没有。

你可能错过

use_trans_sid = 0

如果启用"use_trans_sid",则会话 ID 每次都会附加到 URL。