什么是PHPSESSID?

47 php cookies

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

我需要它吗?我能把它删除吗?

它的"功能"是什么?

if (count($_POST)) {

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

print_r($_COOKIE);
Run Code Online (Sandbox Code Playgroud)

打印:

Array
(
    [TestCookie] => blabla
    [PHPSESSID] => el4ukv0kqbvoirg7nkp4dncpk3
)
Run Code Online (Sandbox Code Playgroud)

Dig*_*oss 46

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

如果禁用cookie,则使用URL.虽然这可以安全地完成,但它更难,而且往往不是.参见例如会话固定.

谷歌为它,你会得到很多的SEO建议.传统的观点是你应该使用cookies,但php将以任何一种方式跟踪会话.

  • 我用Google搜索了一下.这就是谷歌带领我的地方. (280认同)
  • @ Pax0r Alice想分享一些东西,所以她复制了URL并将其发送给Bob.Bob点击链接.Bob现在以Alice身份登录.URL应该表示*资源*,而不是*状态*.在URL中嵌入状态总是一个坏主意.Cookie专门用于在无状态协议中实现有状态. (15认同)
  • 不要使用会话ID的URL!这是不安全的. (5认同)

Bra*_*ent 18

我将补充:
您应该使用不同的名称
"PHPSESSID"显示您正在使用PHP

这可以在php.ini中完成 PHPSESSID

或通过功能 session.name

  • 它仍然是识别服务器当前运行的技术的一种方式,您可能想要或可能不想透露这些技术. (29认同)
  • 超过[80%](http://w3techs.com/technologies/history_overview/programming_language)的网络使用PHP,这些信息是无用的.没有人能够根据这些信息找到服务器的缺陷. (25认同)
  • 有更好的方法来识别技术。例如这样的标题:`X-Powered-By: PHP/7.2.15-0ubuntu0.18.04.1` (2认同)
  • @GermanLashevich php ini:`expose_php = off`禁用X-Powered-By标头...或者`header_remove(“ X-Powered-By”);`或`header('X-Powered-By:Gerbils'); `使其随心所欲 (2认同)

Noo*_*ilk 5

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