Bug #43419 [Com]: Using gzfile() with URL and open_basedir

From: Date: Mon, 21 Dec 2020 15:01:19 +0000
Subject: Bug #43419 [Com]: Using gzfile() with URL and open_basedir
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-231210@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=43419&edit=1 ID: 43419 Comment by: sji at sj-i dot dev Reported by: vinni10 at gmx dot net Summary: Using gzfile() with URL and open_basedir Status: Open Type: Bug Package: Safe Mode/open_basedir Operating System: Linux (Debian) PHP Version: 5.2.6 Block user comment: N Private report: N New Comment: Cannot reproduce this on PHP 7.4 Previous Comments: ------------------------------------------------------------------------ [2007-11-27 12:58:01] jani@php.net This is more general issue, anything trying to use /tmp causes this. (there are other reports about this too) ------------------------------------------------------------------------ [2007-11-26 20:36:11] vinni10 at gmx dot net Description: ------------ When you try to read an external file with gzfile() and open_basedir restriction you will get an warning that /tmp is not in allowed paths. Reproduce code: --------------- <?php $url = "http://url/test.gz"; /** Try to use gzfile() with HTTP and open_basedir **/ $var1 = gzfile($url); /** Try to use gzfile() with downloaded file and open_basedir **/ $filename = "dwltest.gz"; file_put_contents($filename, file_get_contents($url)); $var2 = gzfile($filename); unlink($filename); echo "<pre>"; echo "<b>remote gzfile:</b>\n"; var_dump($var1); echo "\n\n<b>local gzfile:</b>\n"; var_dump($var2); echo "</pre>"; ?> Expected result: ---------------- remote gzfile: array(1) { [0]=> string(23) "This is a simple test!" } local gzfile: array(1) { [0]=> string(23) "This is a simple test!" } Actual result: -------------- Warning: gzfile() [function.gzfile]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/) in /var/www/gzfile_test.php on line 8 Warning: gzfile(http://url/test.gz) [function.gzfile]: could not make seekable - http://url/test.gz in /var/www/gzfile_test.php on line 8 remote gzfile: bool(false) local gzfile: array(1) { [0]=> string(23) "This is a simple test!" } ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=43419&edit=1

« previous php.bugs (#231210) next »