查询变量不能超过512个字符

时间:2010-11-09 12:18:15

标签: php suhosin

我正在努力阅读$_GET数组中包含超过512个字符的查询变量。但是,如果我使用parse_string解析查询字符串,我可以从结果数组中读取它。

示例:

# GET /test.php?foo=<string with 513 characters>&bar=bar HTTP/1.1

<?php
var_dump($_GET['foo']); # NULL
var_dump($_GET['bar']); # "bar"

parse_str($_SERVER['QUERY_STRING'], $output);
var_dump($output['foo']); # <string with 513 characters>
?>

这对我没有意义,因为$_GET在内部使用parse_str从查询字符串派生查询变量。我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

有一个PHP错误报告。 #50449

  

值不超过512个字符的GET参数不会显示   $ _GET和$ _REQUEST数组。我们已经注意到这一点,因为升级到   5.3.1

它说是Suhosin引起了这种行为。