Php 检查会话(Nginx)是否存在
我有两个PHP会话:Php 检查会话(Nginx)是否存在,php,session,nginx,Php,Session,Nginx,我有两个PHP会话: $_SESSION["session"]["key"] = md5 ($token . $userAgent . $ip); $_SESSION["session"]["timeout"] = time (); 只想检查使用nginx的会话是否已尝试此代码,但未成功: location / { if ($request_filename ~* "index.php") { break; } if ($http_cookie ~*
$_SESSION["session"]["key"] = md5 ($token . $userAgent . $ip);
$_SESSION["session"]["timeout"] = time ();
只想检查使用nginx的会话是否已尝试此代码,但未成功:
location / {
if ($request_filename ~* "index.php") {
break;
}
if ($http_cookie ~* "session") {
break;
}
rewrite ^.+$ https://localhost/index.php last;
}
有什么线索吗
谢谢。cookie只保存会话ID,总是在
会话启动()时创建ID
因此,如果您在脚本中调用它,用户将始终具有会话id
您的最佳选择是添加第二个cookie:
setcookie('session_key',md5 ($token . $userAgent . $ip));
然后在nginx中:
if ($http_cookie ~* "session_key")
{
break;
}
检查cookie是否已设置
如果哈希是敏感的,则执行以下操作:
setcookie('session_key_active','1');
然后在Nginx中:
if ($http_cookie ~* "session_key_active")
{
break;
}
但这仍然容易受到攻击,请始终检查服务器端值是否匹配 谢谢你帮我,但我不能把“钥匙”放进饼干里,任何人都可以得到,安全原因。