我使用 HTTPS,但希望最大限度地降低某人使用其他人最近实际使用的会话 ID 制作自己的 cookie 的风险。
作为会话变量,我有一个到期时间,因此如果最近没有使用会话,它就会失效,所以我认为机会之窗是受害者处于活动状态或最近离开站点而没有正确注销的时候。
我不希望有大量的流量,我使用标准的 php 方法来生成会话 ID。我相信有人真正成功(甚至尝试)在这里劫持某人的会话的“风险”接近于零。
我想要做的是以某种方式“识别”远程用户,而不使用$_SERVER['REMOTE_ADDR']
. 我的想法是攻击者必须找到一个有效的会话 ID,以及模拟实际用户的不同属性。
我不想强迫用户使用证书登录。我希望它可以在所有标准的网络浏览器中工作,即使对于我的祖母和其他像她这样的非技术人员也是如此。
那么,我最初想问的是:HTTPS 会话是否有任何“属性”可以使用?它们会有用吗?如果是这样,我该如何找到它们?phpinfo()
没有显示任何 HTTPS 特定的内容。(是因为httpd
不暴露吗?)
我应该只使用HTTP_USER_AGENT
+ HTTP_ACCEPT
+ HTTP_ACCEPT_LANGUAGE
+ HTTP_ACCEPT_ENCODING
+的串联HTTP_ACCEPT_CHARSET
或类似的东西,假设在用户之间足够独特吗?
很高兴所有的答案!(但请在回答之前阅读问题,仅参考 StackOverflow 上的其他问题)谢谢!