Вот, я кажется откопал место в исходниках 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 он или нет).
Нижнюю границу версий точно не знаю...