14may
14

bot-spammer

Aunque todos tenemos a Akismet instalado para evitar la inmensa mayoría de los comentarios spam hay algunos spammers que poco a poco van aprendiendo y se cuelan en nuestro blog para vender sus viagras, vicodinas o alargamientos de pene, entre otras maravillas de la ciencia moderna.

Pues bien, hay un truco de .htaccess que puede evitar directamente que los bots spammers accedan a nuestros formularios de comentarios. Esto es gracias a que normalmente los bots spammers no tienen referrer, o sea que no vienen de ninguna página, y mucho menos de nuestro blog. Lo que hace este código es comprobar de donde viene nuestro “comentador” y si no viene de alguna página de nuestro blog (lo más lógico tras hacer clic en un permalink nuestro) evita que acceda al archivo wp-comments-post.php.

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*tublog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Solo tienes que cambiar la dirección en la línea 4 del código y guardar este código en tu fichero .htaccess.

Para saber más:

  • http://www.cuasante.com Cuasante

    Que bueno el truquete. Pues nada a editar un poco de codigo ;)

  • http://www.graciasdenada.com.ar juan pablo

    pregunta tonta (y simple), y si viene desde el feed?, digo: si el lector viene desde el feed, accede a comentar?

    • http://fernandotellado.com/ Fernando Tellado

      Pues depende del permalink del feed, no lo he probado pero en teoría debe dejarle porque accede desde el permalink directo al post.

  • http://cosecha81.net Toño

    @Juan Pablo: yo tenía la misma duda, pero si te fijas a lo que estas negando el acceso es al archivo “wp-comments-post.php” si entras desde el feed a la fuerza tienes que entrar a la página del post (single.php o page.php o cual sea la página), entonces al dar clic al botón de guardar comentarios se manda llamar la página esa y como el referer al archivo que se utiliza para guardar los comentarios siempre irá la página donde estas tecleando el comentario (que es diferente a wp-comments-post.php).

    Saludos.

  • http://www.graciasdenada.com.ar juan pablo

    cierto lo que señala Toño… no lo probé pero pensandolo es pura lógica y debe ser así, como lector (desde el feed o desde cualquier lado) accedemos al post y dentro está el wp-comments….

    gracias Toño y Fernando, a toquetear el htaccess entonces, genial!

  • http://www.gerencie.com sabogal

    Es posible hacer lo mismo desde .htacces para evitar el registro de bot? Es que no soy amigo de los captchas.

    Saludos!

    • http://fernandotellado.com/ Fernando Tellado

      Prueba sustituyendo wp-comments-post.php por wp-register.php, debería funcionar.

      • http://www.gerencie.com sabogal

        Pero debo agregar todos el código, o al código que colocaste le agrego la línea RewriteCond %{REQUEST_URI} .wp-register.php*

        Es decir, lo dejaría

        RewriteEngine On
        RewriteCond %{REQUEST_METHOD} POST
        RewriteCond %{REQUEST_URI} .wp-comments-post.php*
        RewriteCond %{REQUEST_URI} .wp-register.php*
        RewriteCond %{HTTP_REFERER} !.*www.blog.com.* [OR]
        RewriteCond %{HTTP_USER_AGENT} ^$
        RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

        Gracias

  • http://elhistorias.com dayer

    Interesante método, voy a ponerlo a prueba a ver qué tal, si ya apenas tengo que revisar el Akismet xD
    Un saludo y muchas gracias por la propuesta! ;)

  • http://macoreo.com JuniHH

    Interesante este truco. Hace apenas dos semanas que instale a WP Captcha Free, que junto con Askimet es una gran combinacion. Desde entonces ya no tengo los molestos spam en espera pero tampoco los molestos y confusos captchas.

    Lo malo es que es un plugin mas, asi que este truco me va muy bien.

  • Pingback: Evitar comentarios spam - ezequielconde.com.ar | Diseño Web, Wordpress y más...

  • Pingback: Entradas en las blogosferas.123, Carrero

  • Pingback: Problema con comentarios spam alguna solucion rapida

  • Pingback: Asegurando WordPress con .htaccess | Ayuda WordPress