【问题标题】:What is PHPSESSID?什么是 PHPSESSID?
【发布时间】:2010-11-25 03:37:38
【问题描述】:

我在玩饼干。而且我没有任何名为 PHPSESSID 的 cookie。

我需要吗?我可以删除它吗?

它的“功能”是什么?

if (count($_POST)) {

setcookie("TestCookie", htmlspecialchars($_POST['val']), time()+3600);
}

print_r($_COOKIE);

打印:

Array
(
    [TestCookie] => blabla
    [PHPSESSID] => el4ukv0kqbvoirg7nkp4dncpk3
)

【问题讨论】:

  • 这只是 PHP 用于由 session_start() 生成的 cookie 的默认标识符。如果要更改该名称,请使用 ini_set('session_name', 'somethingElse')
  • 不,它是 ini_set('session.name', 'somethingElse'); (注意点)并且您必须在 session_start() 之前使用它;在每个 php 页面上。 (不仅仅是登录页面)
  • 或使用 session_name('somethingElse'); (在调用 session_start() 或 session_register() 之前的每个页面上)

标签: php cookies


【解决方案1】:

PHP 使用两种方法之一来跟踪会话。如果启用了 cookie,就像您的情况一样,它会使用它们。

如果 cookie 被禁用,它将使用 URL。虽然这可以安全地完成,但它更难,而且通常不是。参见,例如,session fixation.

搜索它,你会得到很多 SEO 建议。传统观点是您应该使用 cookie,但 php 会以任何方式跟踪会话。

【讨论】:

  • 我用谷歌搜索了它。这就是 Google 引导我的方向。
  • 不要将 URL 用于会话 ID!不安全。
  • @mehaase appart 从丑陋的网址我不认为它比 cookie 安全得多。一方面,我认为从你背后看的人不会记住整个 SESSION ID,另一方面,任何嗅探你的连接或访问你的电脑的人都不会更难读取 cookie。
  • @Pax0r Alice 想要分享一些东西,所以她复制了 URL 并将其发送给 Bob。 Bob 点击链接。 Bob 现在以 Alice 的身份登录。 URL 应该代表一个resource,而不是一个state。在 URL 中嵌入状态总是一个坏主意。 Cookie 是专门为在无状态协议中启用状态性而引入的。
  • @mehaase 好的,我明白你分享链接的观点。我只是想强调一下 cookie 也不安全。
【解决方案2】:

PHPSESSID 表明您正在使用 PHP。如果您不想这样做,您可以使用 php.ini 文件中的 session.name 或使用 session_name() 函数轻松更改名称。

【讨论】:

  • 超过80% 的web 使用PHP,此信息无用。没有人可以仅根据这些信息发现服务器的缺陷。
  • 这仍然是一种识别服务器当前正在运行的技术的方法,您可能想也可能不想透露。
  • 有更好的方法来识别技术。例如这样的标题:X-Powered-By: PHP/7.2.15-0ubuntu0.18.04.1
  • @GermanLashevich php ini: expose_php = off 禁用 X-Powered-By 标头...或者 header_remove("X-Powered-By");header('X-Powered-By: Gerbils'); 使其随心所欲
  • @BradKent 当然,我并没有说暴露这些数据是不可避免的。我只是指出,在安全方面还有更多需要关注的事情。
【解决方案3】:

它是您在 PHP 中当前会话的标识符。如果删除它,您将无法访问/使用会话变量。我建议你保留它。

【讨论】:

  • 如何获取会话变量?
  • 我一直试图了解如何使用 phpsessid 访问会话值,但我在任何地方都找不到它。不知道我想对不对
【解决方案4】:

检查 php.ini 中的自动会话 ID。

如果您启用它,您的 cookie 中将包含 PHPSESSID。

【讨论】:

    【解决方案5】:

    PHPSESSID 是服务器自动生成的会话 cookie,其中包含一个由服务器自己发出的随机长数字

    【讨论】:

    • 为了什么目的?
    猜你喜欢
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    • 2014-12-28
    • 2019-06-05
    • 2013-05-05
    • 2014-08-03
    • 1970-01-01
    • 2017-05-22
    相关资源
    最近更新 更多