Tutorial: Plugin bloqueo de tráfico spam y publicidad falsa en Wordpress

  • Autor Autor Cicklow
  • Fecha de inicio Fecha de inicio
Cicklow

Cicklow

Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
STOP-4.png
Bueno he programado un plugin para WP, el cual permite bloquear todo el trafico de estos sitios que lo unico que hacen es inflar nuestras estadísticas y hasta se ha visto que llegan a inyectar visitas en nuestros anuncios de adsense.

Esto es solo para que visitemos su sitio... en el foro se ha hablado bastante sobre esto, cabe destacar que el plugin esta en fase BETA. Como funciona este plugin?...
Pues lo que hace es descargar desde
PHP:
https://raw.githubusercontent.com/piwik/referrer-spam-blacklist/master/spammers.txt
un listado de sitios webs reportados como spamers y hacer que wordpress bloquee estos referidos.

Cada 3 dias actualiza su base de datos haciendo que se mantenga al dia la base de datos.

Al ser la 1° ves que ejecutamos el plugin, tendremos que ir a Opciones->Enlaces permanentes->Guardar, eso hace que se guarden los cambios echos por el plugin (no se porque WP no lo hace una ves que se activo el plugin, pero asi es WP... jejeje)

Por ahora pueden descargar el plugin desde: (Estoy esperando que wordpress.org me habilite el plugin en el repertorio y asi mantener actualizado el plugin desde ahí).
Insertar CODE, HTML o PHP:
http://test.cicklow.me/ForoBeta/BlockSpam/ForoBetaBlockSpam.zip

Y como no podia faltar explicare el code del plugin :encouragement:
PHP:
date_default_timezone_set('UTC'); //Fecha en formato UTC
if ( ! defined( 'ABSPATH' ) ) exit; // Salimos si acceden al plugin directamente..

add_action( 'init', 'FB_inicio' );
add_filter('mod_rewrite_rules', 'FB_control');
Seteamos la fecha a usar, en este caso UTC, luego verificamos si la variable ABSPATCH fue definida, sino es asi finalizamos el plugin, esto es para evitar que accedan directamente al plugin.
Luego agregamos un hook al inicio de WP, esto llama a la funcion FB_inicio (la cual se encarga de verificar el cache del spam) y agregamos otro hook el cual es para agregar las reglas al .htaccess y bloquear los referidos...

Porque desde .htaccess?, porque los plugin de cache interfieren con el plugin, haciendo que el cache se genere antes de poder bloquear el referido (ya que en un inicio el plugin verificaba los referidos desde el mismo plugin y no desde .htaccess, pero el cache no dejaba que se muestre otro resultado al ser bloqueado)...

PHP:
function FB_inicio(){
	$VERCRON = get_option('fecha_cron','0'); //esto servira para controlar cuantos dias pasaron desde el update de los spamers
	$INST = get_option('fb_instalado','0'); //instalado o no el plugin
	$CANTD = 3; //cada 3 dias descargara el cron.

	if($VERCRON==0 || $INST==0){
		add_option('fecha_cron',date('Y-m-d',time())); //Creamos la opcion en la BD
		$VERCRON = date('Y-m-d',time());
		add_option('fb_instalado','1');
	}

	$datetime1 = new DateTime($VERCRON);
	$datetime2 = new DateTime(date('Y-m-d',time()));
	$DIAS = $datetime1->diff($datetime2)->days;
	$DIR = plugin_dir_path( __FILE__ );

	if($DIAS>=$CANTD || ($DIAS==0 && $INST==0)){
		update_option('fecha_cron',date('Y-m-d',time()));
		$SPAMERS = @file_get_contents("https://raw.githubusercontent.com/piwik/referrer-spam-blacklist/master/spammers.txt"); //Listado de spamers
		if($SPAMERS !=""){
			file_put_contents($DIR."spamers.txt",$SPAMERS);
		}
	}
}

Esta funcion se encarga de verificar si ya se instalo el plugin y los dias entre cache y cache, lo que se hace es guardar una fecha en la base de datos de las opciones de WP y controlar esa fecha con la fecha actual del sistema, luego hacer unos calculos de cuantos dias pasaron entre esas fecha y ver si pasaron mas de 3 dias, descargar el cache nuevamente.

PHP:
function FB_control($rules){
	$DIR = plugin_dir_path( __FILE__ );
	$SPAMERS = file_get_contents($DIR."spamers.txt");

	$VERSPAM = preg_split("|[\r\n]+|i", $SPAMERS, -1, PREG_SPLIT_NO_EMPTY);

	$ADDSPAM = "";
	foreach($VERSPAM as $VS){
		$ADDSPAM.="RewriteCond %{HTTP_REFERER} ".$VS." [NC,OR]\n";
	}
	$ADDSPAM = substr($ADDSPAM, 0, strlen($ADDSPAM)-5)."]\n";
	$ADDSPAM = "\n# INICIO ForoBeta BlockSpam\n".$ADDSPAM."RewriteRule .* - [F]\n# FIN ForoBeta BlockSpam\n\n";

	return $ADDSPAM.$rules;
}

Esta funcion se encarga de abrir el cache (un archivo txt) y generar codigo a usar en .htaccess

Bien, que pasa sino quiero usar un plugin y quiero editar el .htaccess manualmente (Puedes usar https://wordpress.org/plugins/wp-htaccess-editor/ para editar .htaccess desde WP, o usar FTP, o el administrador de archivos de cpanel...)... Pues no hay ningun problema, solo entra a esta URL:
Insertar CODE, HTML o PHP:
http://test.cicklow.me/ForoBeta/BlockSpam/

Copias todo el codigo que te da y lo colocar en tu .htaccess...

Si usan Wordfence, puede que les de aviso de que el cache del listado de sitios spam contenga URL bloqueadas...
sin-t-tulo-4c9b67b.png

Esto se debe a que hay url que fueron bloqueadas por google, pero no nos afecta en nada, ya que lo que hacemos es bloquear el referido desde ese sitio. Solo le damos clic en: Always ignore this file. y listo 🙂

Avisen cualquier error! Saludos!
 
Última edición:
¿Qué tal va en rendimiento?
¿Explotará el server con 10.000 PV al día?
 
¿Qué tal va en rendimiento?
¿Explotará el server con 10.000 PV al día?

mmm aun no sabria decirte, recien lo saque al plugin, al bloquear desde .htaccess estamos bloqueando antes que se acceda al sitio web, digamos desde el servidor. Si usas el plugin, cada 3 dias se actualiza el cache, eso no demora mas de unos mili-segundos.
 
Sip, lo óptimo sería directo en el htaccess, pero de todas formas, por cada acceso sería comparar línea por línea.
Si bien demora casi nada, en la suma de unos cuántos usuarios online podría saturar memoria/cpu.

Yo lo aplicaría solo en casos específicos cuando se producen muchas visitas fake, bloqueando solo lo que está "atacando".

mmm aun no sabria decirte, recien lo saque al plugin, al bloquear desde .htaccess estamos bloqueando antes que se acceda al sitio web, digamos desde el servidor. Si usas el plugin, cada 3 dias se actualiza el cache, eso no demora mas de unos mili-segundos.
 
Sip, lo óptimo sería directo en el htaccess, pero de todas formas, por cada acceso sería comparar línea por línea.
Si bien demora casi nada, en la suma de unos cuántos usuarios online podría saturar memoria/cpu.

Yo lo aplicaría solo en casos específicos cuando se producen muchas visitas fake, bloqueando solo lo que está "atacando".

Entiendo, lo que se puede hacer es editar manualmente el .htaccess he ir colocando los sitios que aparecen en nuestras estadisticas y no tener todo un listado grande de bloqueos de spam
 
Muy buen aporte [MENTION=9679]cicklow[/MENTION] pero me gustaría indicar una de mas las maneras mas apropiadas de las que me funciona a mí.

Al iniciar proyectos de colegas que me encargan su web, el 80% es casi puro Spam, pero es claro ya que meten artículos "contenido" irrelevante en su web y no llegan ni a tener 10 visitas directa/orgánica.

Para esto lo que hago es cambiar de theme o modificarlo a contenido completo, con un buen pack de artículos con mas de 300 palabras. Así ganarás mas visitas orgánicas disminuyendo las de spam.

Prueba:

Screenshot_2.webpScreenshot_1.webp


En todo caso, con ayuda de los .htaccess filtrando puede ayudar aún mas.
 

mmm creo que le erramos... estos sitios entran a cualquier sitio web, para generar visitas falsas, por el solo echo, de que accedamos a su sitio...
http://forobeta.com/adsense/433702-recibo-impresiones-de-success-seo-com.html
http://forobeta.com/charla-del-webm...xcluir-analytics-evitar-informe-alterado.html
etc... no importa el contenido, el sitio o lo que sea... tengas las visitas que tengas, el trafico organico o lo que sea.. generan visitas fantasmas en adsense, GA, en las stats, etc...
 
mmm creo que le erramos... estos sitios entran a cualquier sitio web, para generar visitas falsas, por el solo echo, de que accedamos a su sitio...
http://forobeta.com/adsense/433702-recibo-impresiones-de-success-seo-com.html
http://forobeta.com/charla-del-webm...xcluir-analytics-evitar-informe-alterado.html
etc... no importa el contenido, el sitio o lo que sea... tengas las visitas que tengas, el trafico organico o lo que sea.. generan visitas fantasmas en adsense, GA, en las stats, etc...

Tienes razón, pero no me deje explicar muy bien... haciendo lo que comenté a mi las visitas desaparecen poco a poco. 😛7: O mejor dicho será el modo para no caer en eso tipos de visitas. Porque intenté varios filtros de htaccess. Pero probaré con el que creaste en uno nuevo 😛4: Ahh probar 😱nthego: :encouragement:
 
Ese bendito succes-seo y poetas famosos como pueden fregar tanto la paciencia.
 
[MENTION=9679]cicklow[/MENTION] Gracias Cicklow. 😛7:
 
Gracias [MENTION=9679]cicklow[/MENTION] acabo de agregar a semalt al skype para hacer spam a ellos un rato y enviarles un par de ofertas CPA, desnudos en vivo, y sobretodo por pura venganza y ociosidad.

Skype de SEMALT (Succes-seo): Semaltcompany
 
Atrás
Arriba