我想在php的源代码中获取使用setcookie函数存储的cookie信息..而不是php源代码.._COOKIE['xx'];对应的C代码是什么?
换句话说,_COOKIE 数组在哪里创建和填充?
我想在php的源代码中获取使用setcookie函数存储的cookie信息..而不是php源代码.._COOKIE['xx'];对应的C代码是什么?
换句话说,_COOKIE 数组在哪里创建和填充?
该$_COOKIE
变量不使用 JIT(即时初始化),因此始终可以通过读取全局变量表来访问它EG(symbol_table)
:
zval **cookie_var;
if (zend_hash_find(&EG(symbol_table), "_COOKIE", sizeof("_COOKIE"),
(void**)&cookie_var) == SUCCESS) {
/* do something with cookie_var */
} else {
/* handle error; shouldn't happen */
}
Cookie 信息作为您的 http 标头(浏览器发送)的一部分。PHP 通过将其解析为一个整洁的数组并将其放入 _COOKIE 中,使访问它们变得更容易。您必须在 C 中执行此操作。