Protégete de registro de usuarios spammers o blogs en WordPress + BuddyPress
Dada la cercanía de la liberación de BuddyPress 1.2, realizo esta entrada para que la gente sepa cómo combatir a los robots registradores de usuarios y blogs o internet se va a convertir en un caldo de cultivo para estos.
Si no lo hacéis, en el transcurso de un mes, podéis llegar a tener registrados cientos de spammers si no dedicáis una hora diaria a identificarlos y eliminarlos.
La solución es muy sencilla, solo debéis realizar una pequeña modificación en vuestro archivo .htaccess
Está 100% probado, como muchos sabréis, tengo varias instalaciones de WPMU + BuddyPress funcionando y desde que BuddyPress 1.2 es relativamente estable, WP + BuddyPress y ya no consiguen registrarse (de momento).
Esta solución, os protege de los robots registradores, pero no de las “Granjas de Chinos” es decir, de personas que manualmente se dedican a registrar en los blogs.
Descargaros vuestro archivo .htaccess a vuestro ordenador, abrirlo con un programa de texto plano, esto es importantísimo, si no lo hacéis, lo podéis volver corrupto. Podéis usar un software como Geany.
Al abrirlo, si no habéis realizado modificaciones anteriores, os encontrareis algo así:
RewriteEngine On
RewriteBase /
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Lo que debéis hacer es añadir las siguientes líneas antes de las de WordPress y después de:
RewriteEngine On RewriteBase /
Estas son las líneas (mirar la explicación que hay debajo de ellas)
# COMIENZA LA GUERRA CONTRO EL SPAM
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .register*
RewriteCond %{HTTP_REFERER} !.*www.buddypress-es.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://no-puedes-registrarte.tld/ [R=301,L]
</IfModule>
# FINALIZA LA GUERRA CONTRA EL SPAM
Este es el sistema estándar para BuddyPress.
Fijémonos en las líneas, ya que deberemos realizar unas modificaciones a las líneas anteriores.
Si has personalizado las URL de tu instalación de BuddyPress, deberás cambiar .register* por lo que hayas puesto, por ejemplo .registro*
Así mismo, deberéis sustituir el dominio del código por el de vuestra página. Sobre todo, es importante que pongáis el que uséis, es decir, no es lo mismo www.tudominio.com que tudominio.com
El resultado final del archivo .htaccess sería este (debiendo por tu parte modificar lo que te interese):
RewriteEngine On
RewriteBase /
# COMIENZA LA GUERRA CONTRO EL SPAM
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .register*
RewriteCond %{HTTP_REFERER} !.*www.buddypress-es.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://no-puedes-registrarte.tld/ [R=301,L]
</IfModule>
# FINALIZA LA GUERRA CONTRA EL SPAM
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
De esta sencilla forma, os librareis de los Spammers por Robots.




Comentarios
19 Enero, 2010
Información Bitacoras.com…
Valora en Bitacoras.com: Dada la cercanía de la liberación de BuddyPress 1.2, realizo esta entrada para que la gente sepa cómo combatir a los robots registradores de usuarios y blogs o internet se va a convertir en un caldo de cultivo para estos. Si …..
19 Enero, 2010
¿Y para los usuariso de Lighttpd?
19 Enero, 2010
No lo tengo instalado en ningún lado pero yo diría que también hace uso del archivo .htaccess ¿No?
Si no lo hace, cosa que me extrañaría, debes ponerlo en el archivo donde están las líneas para el rewrite.
21 Enero, 2010
que es lo que hace la linea 17? te redirecciona a una página que contiene el mensaje de que no puede registrarse? solo eso?
21 Enero, 2010
Si, te redirecciona, pero es una página inexistente, así que el robot recibe un error 404.
En esa línea puedes poner lo que quieras, pero redireccionando a algo.