Bug #62457 [Com]: Excuse me, is this a bug?
| From: | Sjon at hortensius dot net | Date: | Sun, 01 Jul 2012 09:58:28 +0000 |
| Subject: | Bug #62457 [Com]: Excuse me, is this a bug? | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-171651@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=62457&edit=1
ID: 62457
Comment by: Sjon at hortensius dot net
Reported by: mybugs at 163 dot com
Summary: Excuse me, is this a bug?
Status: Open
Type: Bug
Package: Safe Mode/open_basedir
Operating System: Microsoft Windows Server 2003 R2
PHP Version: 5.4.4
Block user comment: N
Private report: N
New Comment:
What if you remove all '@' from your script, what are the error-messages that
appear? Because with those added, all errors are hidden.
Previous Comments:
------------------------------------------------------------------------
[2012-07-01 06:43:48] mybugs at 163 dot com
php.ini
disable_functions =system
[PATH= "D:/Web/test.com/public"]
open_basedir
------------------------------------------------------------------------
[2012-07-01 06:42:05] mybugs at 163 dot com
Description:
------------
php.ini
[PATH= "D:/Web/test.com/public"]
open_basedir ="D:/Web/test.com/public/"
Test script:
---------------
<?php
echo 'open_basedir:'.ini_get('open_basedir').'<br
/>'; //D:\WEB\TEST_COM\
$cmd = 'ping qq.com';
echo execute('system',$cmd);
echo execute('passthru',$cmd);
echo execute('shell_exec',$cmd);
echo execute('exec',$cmd);
echo execute('popen',$cmd);
function execute($type,$cfe) {
$data = '';
if ($cfe) {
if($type=='system') {
@ob_start();
@system($cfe);
$data = @ob_get_contents();
@ob_end_clean();
} elseif($type=='passthru') {
@ob_start();
@passthru($cfe);
$data = @ob_get_contents();
@ob_end_clean();
} elseif($type=='shell_exec') {
$data = @shell_exec($cfe);
} elseif($type=='exec') {
@exec($cfe,$data);
$data = join("\n",$data);
} elseif($type=='popen') {
$f = @popen($cfe,"r");
while(!@feof($f)) {
$data .= @fread($f,1024);
}
@pclose($f);
}
}
return $type.'----------<br />'.$data.'<br
/>'.$type.'----------<br /><br />';
}
?>
Expected result:
----------------
open_basedir:D:\Web\test.com\public\
system----------
system----------
passthru----------
Pinging qq.com [119.147.15.13] with 32 bytes of data: Reply from 119.147.15.13: bytes=32 time=11ms
TTL=56 Reply from 119.147.15.13: bytes=32 time=11ms TTL=56 Reply from 119.147.15.13: bytes=32
time=11ms TTL=56 Reply from 119.147.15.13: bytes=32 time=11ms TTL=56 Ping statistics for
119.147.15.13: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in
milli-seconds: Minimum = 11ms, Maximum = 11ms, Average = 11ms
passthru----------
shell_exec----------
Pinging qq.com [119.147.15.17] with 32 bytes of data: Reply from 119.147.15.17: bytes=32 time=9ms
TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: bytes=32
time=9ms TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Ping statistics for
119.147.15.17: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in
milli-seconds: Minimum = 9ms, Maximum = 9ms, Average = 9ms
shell_exec----------
exec----------
Pinging qq.com [119.147.15.17] with 32 bytes of data: Reply from 119.147.15.17: bytes=32 time=9ms
TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: bytes=32
time=9ms TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Ping statistics for
119.147.15.17: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in
milli-seconds: Minimum = 9ms, Maximum = 9ms, Average = 9ms
exec----------
popen----------
Pinging qq.com [119.147.15.17] with 32 bytes of data: Reply from 119.147.15.17: bytes=32 time=9ms
TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: bytes=32
time=9ms TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Ping statistics for
119.147.15.17: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in
milli-seconds: Minimum = 9ms, Maximum = 9ms, Average = 9ms
popen----------
Actual result:
--------------
open_basedir:D:\Web\test.com\public\
system----------
system----------
passthru----------
passthru----------
shell_exec----------
shell_exec----------
exec----------
exec----------
popen----------
popen----------
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62457&edit=1