Título: Variable HTTP_HOST no definida. Porque? Publicado por: Skeletron en 7 Abril 2013, 03:27 am Hola gente.
Resulta que, tengo un codigo fuente (PHP) que hace algo así en el index: <?php if($_SERVER['HTTP_HOST'] == 'www.xxx.com') error_reporting(0); elseif($_SERVER['HTTP_HOST'] == 'beta.xxx.com') error_reporting(E_ALL ^ E_NOTICE); else error_reporting(0); Y veo que en el LOG de error de apache, aparecen estos errores: Notice: Undefined index: HTTP_HOST eso, repetido muy muchas veces. Como que, HTTP_HOST no está definido... Pero, si o si tiene que estar definido... O NO? Porque causa no podría estar definida esa variable? El servidor es una PC mia que está en mi hogar. Es raro... O no? Que puede estar pasando? Título: Re: Variable HTTP_HOST no definida. Porque? Publicado por: EFEX en 7 Abril 2013, 19:18 pm No te preocupes no es un error solo te indica que estas tratando de acceder a una variable que no esta definida en este caso un array., se utiliza la función isset() para saber si está definida.
http://php.net/manual/es/function.isset.php Título: Re: Variable HTTP_HOST no definida. Porque? Publicado por: Skeletron en 8 Abril 2013, 20:19 pm Entiendo perfectamente ese tema, pero el problema, es que esa variable SIEMPRE debería estar definida. El señor Apache la inicializa...
Mira bien de cual variable te hablo: $_SERVER['HTTP_HOST'] Las variables $_SERVER siempre vienen inicializadas. Título: Re: Variable HTTP_HOST no definida. Porque? Publicado por: Wofo en 19 Abril 2013, 16:59 pm ¿Y si tienes mal configurado Apache?
No es que entienda mucho del tema, pero es una idea. Título: Re: Variable HTTP_HOST no definida. Porque? Publicado por: #!drvy en 20 Abril 2013, 16:59 pm Citar Porque causa no podría estar definida esa variable? Si utilizas otros métodos para acceder al php que no implican un navegador Saludos Título: Re: Variable HTTP_HOST no definida. Porque? Publicado por: Skeletron en 20 Abril 2013, 23:51 pm Mil gracias por la respuesta!
el motor de Google capaz que haga lo mismo, no? Que tan MALO sería hacer un "exit;" cuando hay ese error? Título: Re: Variable HTTP_HOST no definida. Porque? Publicado por: #!drvy en 21 Abril 2013, 00:10 am Na GoogleBot no es.. el si que envía headers.. la verdad es que HOST: es una cabecera muy básica.. no hay muchos bots que no la envien xD.
Hasta el file_get_contents() de PHP envia el HOST: xD PD: Una historia muy bonita sobre googlebot: http://googlewebmastercentral.blogspot.com.es/2008/03/first-date-with-googlebot-headers-and.html xD Saludos Título: Re: Variable HTTP_HOST no definida. Porque? Publicado por: Skeletron en 21 Abril 2013, 23:16 pm Bueno, muchas gracias por tu aporte. la verdad es que me has solucionado un tema que no encontré respuesta en ningun lugar.
Debería cortarles la conexion a esos "usuarios" que entran de ese modo. Título: Re: Variable HTTP_HOST no definida. Porque? Publicado por: Skeletron en 7 Mayo 2013, 02:13 am Les comento que, luego de añadir esta linea a mi codigo:
if(!isset($_SERVER['HTTP_HOST'])) die('Su browser es demasiado viejo. No envía la cabecera HOST. Descargue Chrome!'); Google Bot dejó de acceder a mi sitio web. Así que, es GOOGLE BOT quien no envía esa cabecera. WARNING! jeje |