2010-12-14 114 views
1

我一直很好奇一段时间关于围绕PHP会话名称的安全问题:PHPSESSIDPHPSESSID安全问题?

我注意到一些网站重命名了它们的会话ID cookie,而另一些网站却将它作为默认值。

使用不同名称有没有安全优势?还是仅仅能够跟踪每个用户的多个会话?

回答

0

如果您对会话劫持感到非常担心,有时会更改默认会话ID,尽管如果您在清理数据时采取了最基本的步骤,那么某人成功劫持会话的机会相当不错,关闭注册全局变量并且只接受特定POST或从你的形式正确地投变量...

您可以阅读Session Fixation here(这是标准的sessionId的变化通常是用来战斗)..

+1

-1更改会话名称不会防止会话固定。 – rook 2010-12-14 23:46:00

2

如果您想掩盖您正在运行php的事实,那么您应该更改名称。然而更常见的是,开发人员得到了重新创建风轮和编写他们自己的(非常破坏的)会话处理程序的可怕想法。这种方法中的9次比通常的session_start()安全得多。

+1

当然,有些人通过会话cookie名称暴露了PHP的偏执狂,然后完全忘记/忽略了Apache中的X-Powered-By头和ServerTokens。 – 2010-12-14 20:14:45

+0

@Marc B,并忘记在其php.ini中设置'expose_php = Off' :) – rook 2010-12-14 20:58:51

2

一点也没有没有丝毫的差别。

1

不,会话ID的名称只是一个名称来标识会话ID;只要系统知道该名称,就可以将其更改为任何你想要的。

但是,如前所述,您可能需要更改名称以遮蔽您的系统。但除会话ID的名称外,还有其他方面可用于识别您的系统。