PHP :: Bug #39450 :: getenv() fills $_POST-Array
| Bug #39450 | getenv() fills $_POST-Array | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2006-11-09 14:30 UTC | Modified: | 2007-01-20 22:16 UTC |
|
||||||||||
| From: | patrik dot mayer at i12 dot de | Assigned: | iliaa (profile) | |||||||||||
| Status: | Closed | Package: | Unknown/Other Function | |||||||||||
| PHP Version: | 5.2.0 | OS: | SuSE 10, 2.6.13-15.12-smp | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2006-11-09 14:30 UTC] patrik dot mayer at i12 dot de
Description:
------------
The getenv() function fills the $_POST-Array for every variable that it gets from the environment. So, if you want to getenv "HTTP_HOST" you will have $_POST['HTTP_HOST'] filled after the getenv() Statement.
Reproduce code:
---------------
<?php
echo "<pre>".print_r($_POST, true)."</pre><br/><br/>";
echo getenv('SERVER_PROTOCOL').'<br/>';
echo getenv('REMOTE_PORT').'<br/>';
echo "<br/>";
echo "<pre>".print_r($_POST, true)."</pre>";
?>
Expected result:
----------------
Array
(
)
HTTP/1.1
4175
Array
(
)
//tested on PHP 5.1.6
Actual result:
--------------
Array
(
)
HTTP/1.1
4175
Array
(
[HTTP_HOST] => development.i12.de
[SERVER_PROTOCOL] => HTTP/1.1
[REMOTE_PORT] => 4175
)
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2006-11-09 17:06 UTC] tony2001@php.net
[2006-11-10 08:36 UTC] patrik dot mayer at i12 dot de
[2006-11-10 09:48 UTC] tony2001@php.net
[2006-11-10 13:03 UTC] patrik dot mayer at i12 dot de
[2006-11-10 13:04 UTC] patrik dot mayer at i12 dot de
[2006-11-10 13:18 UTC] tony2001@php.net
[2006-11-11 22:37 UTC] rasmus@php.net
[2006-11-13 18:10 UTC] patrik dot mayer at i12 dot de
[2006-11-13 18:12 UTC] patrik dot mayer at i12 dot de
[2006-11-14 10:35 UTC] patrik dot mayer at i12 dot de
[2006-11-15 12:40 UTC] tony2001@php.net
[2006-11-20 13:21 UTC] patrik dot mayer at i12 dot de
[2006-11-20 13:26 UTC] tony2001@php.net
[2006-11-27 14:52 UTC] patrik dot mayer at i12 dot de
[2006-12-15 22:14 UTC] balue at gmail dot com
[2006-12-21 17:06 UTC] fugacityguy-developer at yahoo dot com
I am getting a similar behavior where calling getenv() is populating the $_FILES global: <? var_dump($_FILES); echo "<br>\n"; $h = getenv('DOCUMENT_ROOT'); var_dump($_FILES); ?> yields: array(0) { } array(0) { } array(1) { ["DOCUMENT_ROOT"]=> string(26) "/usr/csite/WebServer/html/" } This is PHP 5.2.0 on Redhat Enterprise Linux 4.[2006-12-21 21:42 UTC] smlerman at gmail dot com
[2007-01-20 22:16 UTC] iliaa@php.net