Permalink
Browse files

MFH: Backported allow_url_include from HEAD. This directive allows

separate control of URL handling in includes/requires allowing sites to
enable allow_url_fopen without enabling remote includes.
  • Loading branch information...
1 parent 6320ee1 commit 6bfeea9eb9543cb5a5f2c024a57f7c8ecfc84968 @rlerdorf rlerdorf committed Jun 16, 2006
Showing with 7 additions and 1 deletion.
  1. +1 −0 NEWS
  2. +1 −0 main/main.c
  3. +1 −0 main/php_globals.h
  4. +1 −1 main/streams/streams.c
  5. +3 −0 php.ini-dist
View
1 NEWS
@@ -43,6 +43,7 @@ PHP NEWS
. Added readInnerXML(), readOuterXML(), readString(), setSchema(). (2.6.20+)
. Changed to passing libxml options when loading reader.
+- Added allow_url_include ini directive to complement allow_url_fopen. (Rasmus)
- Added automatic module globals management. (Dmitry)
- Added RFC2397 (data: stream) support. (Marcus)
- Added new error mode E_RECOVERABLE_ERROR. (Derick, Marcus, Tony)
View
@@ -322,6 +322,7 @@ PHP_INI_BEGIN()
PHP_INI_ENTRY("disable_classes", "", PHP_INI_SYSTEM, NULL)
STD_PHP_INI_BOOLEAN("allow_url_fopen", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_url_fopen, php_core_globals, core_globals)
+ STD_PHP_INI_BOOLEAN("allow_url_include", "0", PHP_INI_SYSTEM, OnUpdateBool, allow_url_include, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("always_populate_raw_post_data", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool, always_populate_raw_post_data, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("realpath_cache_size", "16K", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_size_limit, virtual_cwd_globals, cwd_globals)
STD_PHP_INI_ENTRY("realpath_cache_ttl", "120", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_ttl, virtual_cwd_globals, cwd_globals)
View
@@ -150,6 +150,7 @@ struct _php_core_globals {
char *disable_functions;
char *disable_classes;
+ zend_bool allow_url_include;
};
View
@@ -1605,7 +1605,7 @@ PHPAPI php_stream_wrapper *php_stream_locate_url_wrapper(const char *path, char
return &php_plain_files_wrapper;
}
- if (wrapperpp && (*wrapperpp)->is_url && !PG(allow_url_fopen)) {
+ if ((wrapperpp && (*wrapperpp)->is_url) && (!PG(allow_url_fopen) || ((options & STREAM_OPEN_FOR_INCLUDE) && !PG(allow_url_include))) ) {
if (options & REPORT_ERRORS) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "URL file-access is disabled in the server configuration");
}
View
@@ -531,6 +531,9 @@ upload_max_filesize = 2M
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
+; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
+allow_url_include = Off
+
; Define the anonymous ftp password (your email address)
;from="john@doe.com"

0 comments on commit 6bfeea9

Please sign in to comment.