elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:08  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Evitar que Bot de Google vote noticias en mi web
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Evitar que Bot de Google vote noticias en mi web  (Leído 1,671 veces)
asasasaq

Desconectado Desconectado

Mensajes: 30


Ver Perfil WWW
Evitar que Bot de Google vote noticias en mi web
« en: 17 Enero 2011, 12:19 »

Hola a todos los del foro, tengo un archivo de noticias en la cual tengo un enlace hacia votar.php que vota la noticia por id

Ahora los Bots de google votan las noticias, como evitaria esto?

Saludos..


En línea
drvy | BSM


Desconectado Desconectado

Mensajes: 1.129


badstupidmonkey


Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #1 en: 17 Enero 2011, 14:32 »

Código
<?php
 
if(stristr($_SERVER['HTTP_USER_AGENT'],'google')) {die('Fuera google! no estas admitido xD');}
 
?>
Ponlo en las primeras lineas.

Saludos


En línea
Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #2 en: 17 Enero 2011, 17:06 »

Hola a todos los del foro, tengo un archivo de noticias en la cual tengo un enlace hacia votar.php que vota la noticia por id

Ahora los Bots de google votan las noticias, como evitaria esto?

Saludos..

Viendo que no hacer reconocimeinto de los bots, entonces me imagino que no estas contabilizando bien las visitas a tu sitio, cierto ??

Lo primero que te recomiendo hacer, es crees un script que reconoce los diferentes bots en la red, posteriormente esto te ayudara para saber contabilizar las visitas, así podrás discernir entre un bot y un usuario y contabilizar visitas de usuarios reales.

Y ahora si podrás también tener un mejor control sobre votaciones, vistas de noticias, hacerte un top 10 mas real, etc, etc...

Saludos !
En línea

wirelesswifi

Desconectado Desconectado

Mensajes: 87



Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #3 en: 17 Enero 2011, 17:08 »

Código
<?php
 
if(stristr($_SERVER['HTTP_USER_AGENT'],'google')) {die('Fuera google! no estas admitido xD');}
 
?>
Ponlo en las primeras lineas.

Saludos

Ok, gracias drvy | BSM ahora para yahoo seria asi?

Código
<?php
 
if(stristr($_SERVER['HTTP_USER_AGENT'],'yahoo')) {die('No admitido');}
 
?>

Tengo una duda, es google o googlebot

Código
<?php
 
if(stristr($_SERVER['HTTP_USER_AGENT'],'googlebot')) {die('No admitido');}
 
?>

Saludos..
En línea

wirelesswifi

Desconectado Desconectado

Mensajes: 87



Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #4 en: 17 Enero 2011, 17:11 »

Viendo que no hacer reconocimeinto de los bots, entonces me imagino que no estas contabilizando bien las visitas a tu sitio, cierto ??

Lo primero que te recomiendo hacer, es crees un script que reconoce los diferentes bots en la red, posteriormente esto te ayudara para saber contabilizar las visitas, así podrás discernir entre un bot y un usuario y contabilizar visitas de usuarios reales.

Y ahora si podrás también tener un mejor control sobre votaciones, vistas de noticias, hacerte un top 10 mas real, etc, etc...

Saludos !

Si es cierto, ahora para las visitas en el archivo noticias.php insertaria el mismo codigo de arriba?

Saludos.
En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #5 en: 17 Enero 2011, 17:19 »

Si es cierto, ahora para las visitas en el archivo noticias.php insertaria el mismo codigo de arriba?

Saludos.

Mira para saber los nombres de los bots, no hay como primero hagas un LOG completo sobre quienes entran, vaya, detectes el navegador, lenguaje e ip, con esto conforme pase el tiempo notaras que existen personas (eso crees tu) que entran con un navegador que tiene por nombre: bing o google, es mas que logico que no es una persona, y se trata del bot webcrawler (un buscador), asi que, conforme vas observando tu log y te van callendo los Bots, vas descubriendo su nombre real.

Ahora, conforme vas reconociendo mas bots, yo te recomiendo te crees una funcion mas o menos asi:

Código
<?php
function is_bot($navegador)
     {
     $m= strtolower($navegador); // convertimos el nombre a minuscular
     $bots= array(
           "google", "otro", "otro", "otro");
 
     # ahora comprobar si es un bot
     foreach( $bots as $data )
           {
           if( !strcmp($data, $m) ) # si "m" es igual que "data", entonces es un bot
                 return 1; # retornamos 1, es un bot
           }
     return 0; # exito, no es bot
     }
 
if( !is_bot($_SERVER['HTTP_USER_AGENT']) ) # si no es bot
     {
     # guardamos datos ya sea log o votacion, o lo que sea...
     }
?>

Asi ahorras codigo y solo invocas la funcion is_bot() pasandole como argumento el $_SERVER['HTTP_USER_AGENT'] y si devuelve 1 entonces es un bot, sino, entonces es un usuario real.

OJO: hay que ir observando tu LOG COMPLETO para que vayas conociendo los bots, de nada sirve busques en google nombre de bots o webcrawlers, estos a veces cambian de nombre cada varios a~os o cuando se les plasca, por ejemplo: el bot de google se llamaba antes como googlebot, ahora se llama google.

Saludos !
« Última modificación: 17 Enero 2011, 17:23 por Diabliyo » En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.334

he vuelto :)


Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #6 en: 17 Enero 2011, 17:23 »

no bastaria con rel="nofollow" ? aunque si... si se pasa el nofollow habria que poner seguridad extra con los bots
En línea

Ojo por ojo, y el mundo acabará ciego.
Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #7 en: 17 Enero 2011, 17:25 »

no bastaria con rel="nofollow" ? aunque si... si se pasa el nofollow habria que poner seguridad extra con los bots

Si quieres evitar los bots y tienes un sitio web o blog, entonces es una tonteria :S... nadie indexaria tu sitio, solo tu y tus amigos conocerian tu pagina.

Eso del nofllow|noindex es solo para sitio donde requieres privacidad, por ejemplo Software para empresa (plataforma web), donde solo y unicamente quieres que accedan proveedores o personas especificas y no cualquier persona.

Pero ya estamos hablando que seria un plataforma, osea, que para ver el contenido necesitarias un user y clave.

Saludos !
En línea

wirelesswifi

Desconectado Desconectado

Mensajes: 87



Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #8 en: 17 Enero 2011, 17:34 »

Mira para saber los nombres de los bots, no hay como primero hagas un LOG completo sobre quienes entran, vaya, detectes el navegador, lenguaje e ip, con esto conforme pase el tiempo notaras que existen personas (eso crees tu) que entran con un navegador que tiene por nombre: bing o google, es mas que logico que no es una persona, y se trata del bot webcrawler (un buscador), asi que, conforme vas observando tu log y te van callendo los Bots, vas descubriendo su nombre real.

Ahora, conforme vas reconociendo mas bots, yo te recomiendo te crees una funcion mas o menos asi:

Código
<?php
function is_bot($navegador)
     {
     $m= strtolower($navegador); // convertimos el nombre a minuscular
     $bots= array(
           "google", "otro", "otro", "otro");
 
     # ahora comprobar si es un bot
     foreach( $bots as $data )
           {
           if( !strcmp($data, $m) ) # si "m" es igual que "data", entonces es un bot
                 return 1; # retornamos 1, es un bot
           }
     return 0; # exito, no es bot
     }
 
if( !is_bot($_SERVER['HTTP_USER_AGENT']) ) # si no es bot
     {
     # guardamos datos ya sea log o votacion, o lo que sea...
     }
?>

Asi ahorras codigo y solo invocas la funcion is_bot() pasandole como argumento el $_SERVER['HTTP_USER_AGENT'] y si devuelve 1 entonces es un bot, sino, entonces es un usuario real.

OJO: hay que ir observando tu LOG COMPLETO para que vayas conociendo los bots, de nada sirve busques en google nombre de bots o webcrawlers, estos a veces cambian de nombre cada varios a~os o cuando se les plasca, por ejemplo: el bot de google se llamaba antes como googlebot, ahora se llama google.

Saludos !

Este codigo me serviria para guardar un log de bots de buscadores, y a la vez poner el proceso de votacion.

En el archivo robots.txt lo tengo asi:

Código:
# Negando el acceso a un archivo
Disallow: /votar.php

En el cual negaria el acceso al archivo votar.php

Gracias Diabliyo y a todos los que me ayudaron.

Saludos!
En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #9 en: 17 Enero 2011, 17:53 »

Este codigo me serviria para guardar un log de bots de buscadores, y a la vez poner el proceso de votacion.

En el archivo robots.txt lo tengo asi:

Código:
# Negando el acceso a un archivo
Disallow: /votar.php

En el cual negaria el acceso al archivo votar.php

Gracias Diabliyo y a todos los que me ayudaron.

Saludos!

La idea es buena y existen muchos que tal vez lo hagan asi, pero segun mi experiencia te recomiendo trates de hacerlo tambien por codigo, porque no todos los robots tienen un nombre :D, vaya, muchos acceden mas de 10 veces por dia (lo he visto en mi log), indexan el sitio, tienen un IP muy corta (por ejemplo: 67.45.89.14), la variable $_SERVER['HTTP_USER_AGENT'] esta vacia, no se detecta el S.O, ni el lenguaje.

Y hay otros que no se detecta el $_SERVER['HTTP_USER_AGENT'], pero si el S.O, el lenguaje y su ubicacion geografica, por ejemplo los buscadores Rusos y todos aquellos nuevos que igual ni conocemos.

Todos estos, si se diera el momento, estarian accediendo a tu archivo y haciendote un show otra vez :D

Saludos !
En línea

wirelesswifi

Desconectado Desconectado

Mensajes: 87



Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #10 en: 17 Enero 2011, 19:03 »

La idea es buena y existen muchos que tal vez lo hagan asi, pero segun mi experiencia te recomiendo trates de hacerlo tambien por codigo, porque no todos los robots tienen un nombre :D, vaya, muchos acceden mas de 10 veces por dia (lo he visto en mi log), indexan el sitio, tienen un IP muy corta (por ejemplo: 67.45.89.14), la variable $_SERVER['HTTP_USER_AGENT'] esta vacia, no se detecta el S.O, ni el lenguaje.

Y hay otros que no se detecta el $_SERVER['HTTP_USER_AGENT'], pero si el S.O, el lenguaje y su ubicacion geografica, por ejemplo los buscadores Rusos y todos aquellos nuevos que igual ni conocemos.

Todos estos, si se diera el momento, estarian accediendo a tu archivo y haciendote un show otra vez :D

Saludos !

Si, yo los logs los guardo por mysql cuando votan a una noticia se guarda la IP en una tabla y casi todas son IPS 66.249.72.XXX 66.249.71.XXX 66.249.65.XXX etc...

Ya lo he puesto por el codigo que me has dado y por robots.txt.

Saludos! y Gracias.
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.334

he vuelto :)


Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #11 en: 17 Enero 2011, 19:36 »

Si quieres evitar los bots y tienes un sitio web o blog, entonces es una tonteria :S... nadie indexaria tu sitio, solo tu y tus amigos conocerian tu pagina.

Eso del nofllow|noindex es solo para sitio donde requieres privacidad, por ejemplo Software para empresa (plataforma web), donde solo y unicamente quieres que accedan proveedores o personas especificas y no cualquier persona.

Pero ya estamos hablando que seria un plataforma, osea, que para ver el contenido necesitarias un user y clave.

Saludos !

se usan en el link :rolleyes:

<a rel="nofollow"></a>

una tonteria es pensar que solo es va en el meta del documento
En línea

Ojo por ojo, y el mundo acabará ciego.
tragantras


Desconectado Desconectado

Mensajes: 466


Ver Perfil
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #12 en: 18 Enero 2011, 21:17 »

como ya dijeron antes, el archivo "robots.txt" se inventó para algo, no?

ponle un disallow y a correr, sin aún así quieres... tratar con crawlers indeseables (suponemos, como han dicho tambien, que no mandan headers de fiar y que no hacen uso del robots.txt), tienes varias opciones:


-pon un captcha para votar: lo veo lo más logico, si estas haciendo una votación tampoco querrás que te monten un script de autovotar y te jodan el sistema
-validación por javascript: casi ningun crawler implementa javascript, de manera que puedes crear el link a la votación de manera dinámica con javascript
-sistema de usuarios: sobre añadir nada, no?
En línea

Colaboraciones:
1 2
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.334

he vuelto :)


Ver Perfil WWW
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #13 en: 19 Enero 2011, 00:20 »

hacer la poll en un formulario por post? :P
En línea

Ojo por ojo, y el mundo acabará ciego.
tragantras


Desconectado Desconectado

Mensajes: 466


Ver Perfil
Re: Evitar que Bot de Google vote noticias en mi web
« Respuesta #14 en: 20 Enero 2011, 10:39 »

hacer la poll en un formulario por post? :P

ahi le has dado, simple y eficaz ;)
En línea

Colaboraciones:
1 2
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines