Foros del Web » Estrategias Digitales y Negocios Online » SEO »

PHP Script para bloquear bots de spammers.

Estas en el tema de PHP Script para bloquear bots de spammers. en el foro de SEO en Foros del Web. Aqui les dejo un script en PHP que ayuda a bloquear bots que solo buscan formularios de post para llenar nuestros blogs con spam: En ...
  #1 (permalink)  
Antiguo 05/09/2016, 10:48
Avatar de internetdominus  
Fecha de Ingreso: noviembre-2005
Ubicación: Estados Unidos
Mensajes: 535
Antigüedad: 19 años
Puntos: 12
PHP Script para bloquear bots de spammers.

Aqui les dejo un script en PHP que ayuda a bloquear bots que solo buscan formularios de post para llenar nuestros blogs con spam:

En tu archivo robots.txt agrega estas lineas:

Código:
User-agent: *
Disallow: /trampa.php
Luego crea un archivo php llamado trampa.php y agrega este código para subirlo a la raíz de tu web:

Código:
<?php

// * Auto bloqueo de bots viciosos*
// * Author: Santos Jaimes - Peruvian-Maca.com*
// * Fecha: 2009*
// * Funciona con PHP 4.0+ & 5.x+ *

$ip_visita = $_SERVER['REMOTE_ADDR'];		// Captura el IP del visitante.
$bloquea = "deny from $ip_visita\n";			// Lo que se escribira en el archivo .htaccess si es que el IP debe ser bloqueado.
$archivo_ht = ".htaccess";					// Si es que Apache en tu servidor cambio el nombre de .htaccess a algun otro nombre por seguridad, coloca ese nombre aqui.
$preparar = file_get_contents($archivo_ht);		// Prepara el archivo .htaccess juntando todos los datos en el archivo.
$verificar = strpos($preparar, $ip_visita);		//  Verifica que en el archivo .htaccess que el IP del visitante actual no este listado.

// La siguiente parte del script verifica si el IP ya fue bloqueado o no.
// Si el IP aun no esta listado en el archivo .htaccess, sera agregado, mostrara el mensaje de bloqueo al usuario, y alertara por email al webmaster.
// Si el IP ya esta en el archivo .htaccess, el script deja de ejecutarse y muestra un mensaje.

if ($verificar === FALSE) {

$open = @fopen($archivo_ht, "a");			// Abre el archivo .htaccess e inicia modo escribir.
$write = @fputs($open, $bloquea);			// Escribe el IP a bloquear en el archivo .htaccess (Ejemplo: deny from 123.123.123.123)

// Envia un email alertando bloqueo al webmaster o administrador.
// Asegurate de cambiar/agregar tu correo.
@mail('[email protected]','IP bloqueado en paginaweb.com '.$_SERVER['REMOTE_ADDR'].'','
Banned IP: '.$_SERVER['REMOTE_ADDR'].'
Request URI: '.$_SERVER['REQUEST_URI'].'
User Agent: '.$_SERVER['HTTP_USER_AGENT']);

// El IP no esta bloqueado. Hay que modificar el archivo .htaccess.
// Muestra el mensaje de error al visitante. (Cambia el texto a tu gusto)
	echo '<html><head><title>IP '.$ip_visita.' - Bloqueado!</title>
</head><body bgcolor="#FF000000" text="#FFFFFF" oncontextmenu="return false;"><center><font face="Verdana, Arial"><h1>GRACIAS - NO VUELVAS A REGRESAR!</h1><b>El IP '.$ip_visita.' ha sido bloqueado!<br />Contacta al administrador de este web si el bloqueo es un error.<p />Saludos!</b></font></center></body></html>';

// Cierra el archivo .htaccess. Eso es todo.
// Close the .htaccess file - all done.
@fclose($open);
} else {

// IP ya esta bloqueado. No hay que modificar el archivo .htaccess
// Muestra el mensaje de error al visitante. (Cambia el texto a tu gusto)
	echo '<html><head><title>IP '.$ip_visita.' - Bloqueado!</title>
</head><body bgcolor="#FF000000" text="#FFFFFF" oncontextmenu="return false;"><center><font face="Verdana, Arial"><h1>GRACIAS - NO VUELVAS A REGRESAR!</h1><b>El IP '.$ip_visita.' ha sido bloqueado!<br />Contacta al administrador de este web si el bloqueo es un error.<p />Saludos!</b></font></center></body></html>';
}

// Aqui acaba el archivo/Script;
exit;
?>
Luego crea un archivo de imagen y agregalo al header o footer del theme de tu Wordpress, asegurate de cambiar paginaweb.com por tu dominio:

Código:
<a href="http://www.paginaweb.com/trampa.php"><img src="images/trampa.gif" width="1" height="1" alt=""></a>
Cuando agregues Disallow: /trampa.php a tu archivo robots.txt los bots de Google, Yahoo, Bing, Baidu, etc (bots buenos) sabrán que no deben leer la pagina trampa.php. Los bots malos que ni revisan el contenido del archivo robots.txt leerán el enlace de la imagen trampa.gif y serán bloqueados. De esa manera evitaras que malos bots (usados por spammers), que buscan formularios de blogs para posts, visiten tu pagina y llenen tus posts con comentarios spam.

Prueba tu mismo el script visitando la pagina http://www.paginaweb.com/trampa.php (cambia paginaweb por tu dominio) y deberás ser bloqueado y ver una pagina con fondo rojo con una alerta.

Luego desbloqueate, borrando tu IP de tu archivo .htaccess que fue agregado automáticamente por el script al visitar la pagina de arriba.

Última edición por internetdominus; 05/09/2016 a las 12:35

Etiquetas: bloquear, bots, contenido, dominio, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:02.