【问题标题】:jQuery, PHP, AJAX, "tu" variable beeing posted for no reason, shows in var_dump()jQuery、PHP、AJAX、“to”变量无缘无故发布,显示在 var_dump()
【发布时间】:2010-03-10 08:50:07
【问题描述】:

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

$res:

$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 中。

【问题讨论】:

    标签: php post jquery var-dump jquery-post


    【解决方案1】:

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

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

    【讨论】:

    • 我确定你是对的,但我仍然无法弄清楚 cookie 的来源。我在另一台计算机上尝试了该页面,但变量未显示。然后我清除了这个cookie,它也删除了它。谢谢大卫!
    • 可能是一个广告出现在您的域中,一个跟踪 js 脚本将它放在那里。
    【解决方案2】:

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

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

    如果您使用 $_REQUEST,则无法保证数据来自发布数据,这会导致脚本中存在安全漏洞。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-27
      • 2017-08-08
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多