Req #18332 [Opn->Csd]: is_readable/is_writable/is_executable support under safe mode
| From: | reeze@php.net | Date: | Sat, 02 Mar 2013 18:39:13 +0000 |
| Subject: | Req #18332 [Opn->Csd]: is_readable/is_writable/is_executable support under safe mode | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-177533@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=18332&edit=1
ID: 18332
Updated by: reeze@php.net
Reported by: ilia at prohost dot org
Summary: is_readable/is_writable/is_executable support under
safe mode
-Status: Open
+Status: Closed
Type: Feature/Change Request
-Package: Feature/Change Request
+Package: *General Issues
Operating System: any
PHP Version: 4.2.1
-Assigned To:
+Assigned To: reeze
Block user comment: N
Private report: N
New Comment:
Safe mode was gone.
Previous Comments:
------------------------------------------------------------------------
[2002-09-24 21:55:46] ekilfoil@php.net
I recently ran into this same problem. With the open_basedir config option set, is_readable() can
report unexpected results.
Perhaps a solution may be to run through all of the security checks that fopen goes through and find
out if the file is readable. Another solution would be to actually just flat out open the file with
php_fopen() for read or append (for is_writable()) and see what is returned.
Perhaps an argument can be added such as:
is_readable(STRICT) where STRICT checks everything
is_readable(STRICT | ATTEMPT) would actually attempt the open.
I'm just throwing out ideas. My problem is that I would like a way to guarantee that no errors
or warnings are returned by a call to fopen() with the E_ALL error level set. I was using:
file_exists() && is_readable()
I can't think of any check to perform other than writing a function in my script that does a
"safe" open such as:
function is_truly_readable()
{
$e = error_reporting(0);
if ($f = fopen($file, "r"))
{
fclose($f);
error_reporting($e);
return(TRUE);
}
error_reporting($e);
return(FALSE);
}
------------------------------------------------------------------------
[2002-09-22 16:37:38] iliaa@php.net
In the current release of the manual is_readable/is_writable now mention the fact that they will not
check safe_mode limitation. The is_executable however, still needs to be documented.
------------------------------------------------------------------------
[2002-07-15 21:52:19] yohgaki@php.net
I think stat function can be used to know actual permissions. is_* function supposed to return if
current process can do something or not. IMO.
We may need to change doc a bit. -> Documentation Problem
------------------------------------------------------------------------
[2002-07-13 18:31:32] ilia at prohost dot org
It would be very useful if is_readable/is_writable/is_executable
series of functions would work with safe mode. Currently is_writable() will report a file that in
reality cannot be accessed undersafe mode is writeable, which is clearly misleading.
At least, could the manual be modified in such a way as to document that those functions will not
work properly under safe_mode.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=18332&edit=1