gpt4 book ai didi

php - 检查 session 是否存在(Nginx)

转载 作者:行者123 更新时间:2023-12-03 22:36:46 24 4
gpt4 key购买 nike

我有两个 PHP session :

$_SESSION["session"]["key"] = md5 ($token . $userAgent . $ip);
$_SESSION["session"]["timeout"] = time ();

只是想检查与 nginx 的 session ,尝试了此代码但没有成功:

location / {
if ($request_filename ~* "index.php") {
break;
}

if ($http_cookie ~* "session") {
break;
}

rewrite ^.+$ https://localhost/index.php last;
}

有什么线索吗?

谢谢。

最佳答案

cookie 仅保存 session ID,ID 始终在 session_start(); 上创建,因此如果您在脚本中调用该 ID,则用户将始终拥有 session 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;
}

但这仍然容易受到攻击,请始终检查服务器端值是否匹配!

关于php - 检查 session 是否存在(Nginx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com