【发布时间】:2016-10-29 14:30:56
【问题描述】:
背景
我从事 php 开发已有数年,但主要使用开源 CMS,例如 wordpress 或 drupal。两者都以自己的方式管理会话,而且在大多数情况下,我从未关注过它们。现在我正在构建一个自定义网站而不使用这些 cms,这意味着我需要自己管理会话。由于这有很多安全隐患,我想要更多关于它的信息。我了解影响表单构建和 url 以及一般输入的安全威胁,但对会话威胁知之甚少。
我在我的 chrome 检查器中注意到我的会话 cookie 被命名为“PHPSESSIONID”。这当然有点恶心。所以我发现我可以使用php.ini 设置session.name = "mysitename" 来更改它,或者使用session_name('mysite_' . $some_value); 等值在代码中更改它
问题。
我还应该如何设置此会话名称? 是否有针对此的网络标准?我确实搜索了一个,但什么也没找到,也许我的关键词有误。
设置此名称有哪些安全隐患?我应该在名称中包含一些特定变量还是由于某些可能的冲突而不包含变量。我在安全方面真的是从头开始,所以任何信息都会有所帮助。
【问题讨论】:
-
会话名称无关紧要。它们可以是“this_is_the_session_cookie”、“RDASDF@3234erasdfWe4r2343”或只是“php_sessid”。任何作为 cookie 名称有效的字符串都是有效的会话名称。选择一个并继续做更重要的事情。
-
据我了解,您担心有人会知道您的会话名称。你是想隐瞒什么吗?您可以只删除 php 部分。我的意思是,如果你只有一个 cookie,很明显它就是会话。
-
@Al.G.我不知道什么s.o.是。我并不想隐藏任何东西本身。我只是想确保我的网站是安全的。它确实有一些敏感信息(主要是 HIPAA)。我知道会话劫持和中间人攻击以某种方式以会话 cookie 为目标。我只是想确保我遵循安全系统的最佳做法。
-
“这当然有点恶心。”当然?不要管它。没有理由无缘无故地使事情复杂化。会话 cookie 的名称与安全无关。不过,它的 HttpOnly 状态可能会。