RFC: PG(allow_url_fopen) slight behaviour change
| From: | Wez Furlong | Date: | Tue, 16 Apr 2002 17:06:34 +0000 |
| Subject: | RFC: PG(allow_url_fopen) slight behaviour change | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-82858@lists.php.net to get a copy of this message | ||
There is currently (and probably has been for quite a few releases) a
crash bug where allow_url_fopen can not be set on a per-virtual host basis.
That's because wrappers are only initialized on module init if
PG(allow_url_fopen) is set, rather than request init.
I plan to change it so that wrappers are *always* initialized.
So that the allow_url_fopen setting is respected, I'm adding an is_url
field to the wrapper structure. If a wrapper has this field set and
PG(allow_url_fopen) is not set, the streams system will display a warning
stating that URLs are not allowed.
Now, the question is: was the original intention of the allow_url_fopen
setting to prevent people from running scripts that contact the network?
If so, it would be OK to have the zlib, bzip2 and user-space wrappers
classed as not being a url for the purposes of this security/policy check?
Heres a chart summarizing the new behaviour:
wrapper allow_url_fopen=on allow_url_fopen=off
====================================================
http allowed disallowed
ftp allowed disallowed
bzip2 allowed allowed
zlib allowed allowed
user allowed allowed
user-space streams could potentially access the network using
fsockopen etc., but I don't think this is an issue because the
admin can then disable the use of that function as well.
Are there any reasons against this?
--Wez.
--
Wez Furlong
The Brain Room Ltd.