Показать сообщение отдельно

  #5  
Старый 14.03.2010, 22:35
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
Провел на форуме:
2223440

Репутация: 648
По умолчанию

Вот, я кажется откопал место в исходниках php, где это видно.
Вот участок в memory.c в 5.2.0:

Код:
708	php_stream_wrapper php_stream_rfc2397_wrapper =	{
709		&php_stream_rfc2397_wops,
710		NULL,
711		0, /* is_url */
712	};
А вот тот же участок в 5.2.1:
Код:
745	php_stream_wrapper php_stream_rfc2397_wrapper =	{
746		&php_stream_rfc2397_wops,
747		NULL,
748		1, /* is_url */
749	};
А теперь смотрим в исходник streams.c (там нижеследующий код одинаков вроде бы во всех версиях):

Код:
1605          if ((wrapperpp && (*wrapperpp)->is_url) && (!PG(allow_url_fopen) || ((options & STREAM_OPEN_FOR_INCLUDE) && !PG(allow_url_include))) ) {
1606               if (options & REPORT_ERRORS) {
1607                    php_error_docref(NULL TSRMLS_CC, E_WARNING, "URL file-access is disabled in the server configuration");
1608               }
1609               return NULL;
1610          }
Вот как-то так. Значит в версиях до 5.2.1 RFI будет и с allow_url_include=Off, если использовать php-streams типа php://input. Для data: видимо тоже есть где-то такое определение (насчёт того, is_url он или нет).
Нижнюю границу версий точно не знаю...

Последний раз редактировалось Root-access; 14.03.2010 в 22:39..
 
Ответить с цитированием