Na |Soluções eResultados, nossa política é de tentar sempre que possível oferecer seguraça sem restringir a plataforma para atingir esse objetivo. No entanto, algumas políticas de segurança temos que adotar.
Na versão do PHP anterior a 5.2.0 (incluindo todas versões 4.x.x), fopen, include e demais funções que utilizam arquivos remotos estão desabilitadas por segurança.
A partir da versão 5.2.0 a WebinHost disponibiliza o recurso, exceto para as seguintes funções: include(), include_once(), require(), require_once().
Note que antes da versão do PHP 5.2.0 não existe opção de desabilitar somente as funções problemáticas (include e require), somente desabilitar o recurso por completo. Somente por isso a WebinHost teve que bloquear totalmente o fopen com http:// na versão 4.x.x do PHP
Exemplo de como não funciona:
">http://example.com/arquivo.php">"); ?> Exemplo de como usar o include sem HTTP - ideal:
<?php
include($_SERVER['DOCUMENT_ROOT'] . '/arquivo.php');
?>Exemplo de como exibir o conteúdo de um arquivo, sem processar por PHP:
<?php
join("", file("http://example.com/arquivo.php"));
?>O problema com o include e http é permitir que alguém inclua código arbitrário de PHP em seu site, o que seria um problema sério de segurança se permitíssemos. Já a função file() apenas exibe o código, sem processá-lo como PHP.
Veja tambem o FAQ: Uso apropriado da função include e variações