1

一个 jQuery AJAX 请求 .post()s 数据到 page.php,它创建 $res 和 var_dump()s 它。

$资源:

$res = array(); 
foreach ($_REQUEST as $key => $value) {  
    if($key){ 
        $res[$key] = $value; 
    } 
} 

var_dump($res):

array(4) {
["text1"]=>  string(6) "mattis"
["text2"]=>  string(4) "test"
["tu"]=>  string(32) "deb6adbbff4234b5711cc4368c153bc4"
["PHPSESSID"]=> string(32) "cda24363cb9d3226bd37b2577ed0bc0b"
}

我的 javascript 只发送 text1 和 text2:

$.post("page.php",{
   text1:"mattis",
   text2:"test"
}

发送的“tu”变量是什么?显然它与会话 ID 非常相似,但我以前从未见过它。

编辑:它在 IE 中发送,但不在 FF 中。

4

2 回答 2

5

由于它不在 post 数据中并且没有查询字符串,它可能存储在 cookie 中。

(根据每个浏览器实例设置,解释了为什么它只出现在 IE 中)

于 2010-03-10T08:54:07.310 回答
1

如果不是真的需要,我不建议使用 $_REQUEST。在这个例子中,$_POST 数组就足够了。

$_REQUEST 包含:$_COOKIE、$_GET 和 $_POST 变量

if you use $_REQUEST you have no guarantee that the data came from the post data, which leads to security holes in your script.

于 2010-03-10T10:07:40.687 回答