PHP isset COOKIE 语句未检测到 cookie

问题描述 投票:0回答:1

我有这个 php 代码来检查特定的 cookie,

if(isset($_COOKIE['user']) && $_COOKIE['user'] == 'test12345'){

 // logic
} 
else {
 // more logic
}

如果我手动将 cookie 值“user”设置为“test12345”,当我检查请求时,它会显示在浏览器开发工具和 burpsuite 中,但它不会触发 if 语句,只会触发 else 语句。有关更多上下文,站点是 HTTP,这是一个 POST 请求,我使用的是 Firefox。 burpsuite中的语法正确吗?或者还有什么问题吗?有什么想法吗?

enter image description here

php cookies
1个回答
0
投票

首先,我建议您将第二个条件括在其自己的括号中,以排除奇怪的条件:

if(isset($_COOKIE['user']) && ($_COOKIE['user'] == 'test12345')){

接下来,尝试显示 $_COOKIE 中的所有内容:

print_r($_COOKIE);

它至少应该返回这样的:

Array
(
    [user] => test12345
)

然后,检查

user
是否存在,以及它是否包含预期值(没有奇怪的编码、空格...)。如果不存在,则脚本上方某处的数据正在丢失。

© www.soinside.com 2019 - 2024. All rights reserved.