PHP Sessionhandling/每个会话的$\u服务器常量中的特定值?

PHP Sessionhandling/每个会话的$\u服务器常量中的特定值?,php,session,Php,Session,假设$\u SERVER['HTTP\u USER\u AGENT']、$\u SERVER['HTTP\u X\u FORWARDED\u FOR']和$\u SERVER['REMOTE\u ADDR']的值在php会话期间是恒定的,这是否节省了成本?当然,只要只使用session_启动,而不是以某种方式持久化和加载过去的会话 为什么我想知道 不管怎样,我正在为每个创建的会话跟踪这些值,主要是为了统计。但是,在一些用例中,我明确地需要存储这些值,即电子邮件订阅和确认,这有时可能在会话期间发生

假设$\u SERVER['HTTP\u USER\u AGENT']、$\u SERVER['HTTP\u X\u FORWARDED\u FOR']和$\u SERVER['REMOTE\u ADDR']的值在php会话期间是恒定的,这是否节省了成本?当然,只要只使用session_启动,而不是以某种方式持久化和加载过去的会话

为什么我想知道

不管怎样,我正在为每个创建的会话跟踪这些值,主要是为了统计。但是,在一些用例中,我明确地需要存储这些值,即电子邮件订阅和确认,这有时可能在会话期间发生。因此,我更喜欢只引用已经存储的跟踪值,而不是再次分配和存储它们。

连接的IP地址$\u服务器['REMOTE\u ADDR']将始终可用。其他任何内容都是通过web请求中的标题提供的,可以很容易地更改或根本不存在


因此,在回答您的问题时-不,除了IP之外,假设这是不安全的。

好的,谢谢您到目前为止……但是$\u服务器['REMOTE\u ADDR']在每个php会话中是唯一的吗?举个愚蠢的例子,但可能会指出我的问题:在家里用webbrowser打开网站,然后将笔记本电脑带到邻居那里,在连接到邻居网络后继续在同一窗口/浏览器实例中浏览。php会在重新连接时删除会话吗?关闭浏览器,即以任何方式启动新会话。对于其他领域,我想我的问题相当哲学:一次存储对好人有效,每次直接存储对坏人也没有帮助。。。