Main Contents

wp-captcha 1.0 Sistema Captcha para WordPress MU

Noviembre 21, 2007

wp-captcha English Version

Introducción:

Como muchos saben, WordPress® lanzó hace ya tiempo su sistema WordPress MU (Wordpress Multi Usuario) este sistema es una versión modificada del sistema WordPress original, que te permite crear un sitio en el cual puedes alojar una “infinidad” de Usuarios de los que cada uno puede tener uno o más Blogs WordPress independientes uno del otro. Como ejemplo puedes visitar el sitio de EterBlogs

Problemática:

El sistema permite a cualquier persona registrarse y crear uno o más usuarios y a su vez uno o más Blogs por usuario, el problema es que el sistema de registro no tiene ningún tipo de verificación CAPTCHA* lo que permite que cualquier Robot (Boot, Spider o como quieras llamarlo) pueda ingresar a tu página y crear Usuarios y Blogs-Spamers. Esta falta de protección puede ocasionar muchos problemas, ya que tendrás cientos o miles de Blogs haciendo publicidad (spam) en tu sistema wordpress.

Ejemplos de Catpchas

captcha_eterblogs.jpg captcha_facebook.jpg captcha_fotolog.jpg

captcha_google.jpg captcha_yahoo.jpg captcha_hotmail.jpg

La cantidad de empresas (sobre todo chinas y estadounidenses) que se dedican a hacer este tipo de publicidad ilegal son demasiadas y parece ser que día a día van creciendo y sobre todo creando nuevos y más softisticados sistemas robots que registran blogs en sitios públicos, lo cual vuelve más tediosa y difícil la tarea de administrar y mantener un sitio creado con WordPress MU.

El problema no sólo es el tener que estar eliminando y/o marcando manualmente a estos Blogs como spam o Usuarios como spammers. ya que si queremos podemos dejarlos allí, pero el incremento de recursos del servidor puede tornarse bastante preocupante, dado que el tamaño de tu base de datos irá creciendo enormemente y exponecialmente, la cantidad de consultas a la base de datos MySQL también se incrementará y con esto obviamente el espacio en Disco Duro, El uso de MicroProcesador y por supuesto el ancho de Banda consumido por estos blogs basura.

La solución:

wordpress_mu_wp-captcha-eterblogs.jpgIntegrar un sistema Captcha* es prácticamente la solucion perfecta. el problema es que WordPress no integra este sistema en su versión gratuita de WordPress MU, de hecho, ni siquiera en su sitema oficial en wordpress.com.

Asi que después de buscar algún plugin o hack que integrará un captcha en wordpress mu y no encontrar ninguna solución, me decidí a programar mi propio script captcha y algunos hacks para EterBlogs y hacerlo público para todos aquellos que quieran integrarlos en su sitios wordpress; cabe aclarar que este script puede ser usado en cualquier otro sistema web.

El nombre del script es wp-captcha, ya que originalmente fué escrito para WordPress MU y ya que el sistema puede integrarse en cualquier tipo de página web, ya sea un CMS, Script o Plugin que use un fromulario; decidí mantener el nombre pero haciendo alusión a Widespread Public - Captcha

Instalación:

Desde la shell


1.- Entra al directorio raíz de tu WordPress MU
2.- Descarga wp-captcha
# wget http://digitalsoftproject.com/software/wp-captcha/wp-captcha_01.zip
3.- Descomprime el archivo wp-catpcha.zip
#unzip wp-captcha.zip

4.- Entra a la carpeta wp-captcha y mueve los archivos wp-captcha.php, wp-captcha.jpg y VeraMoBd.ttf a la raiz de tu wordpress y si quieres elimina el directorio wp-captcha y el archivo wp-captcha.zip

# cd wp-captcha
# mv wp-captcha.* ../
# mv VeraMoBd.ttf ../
# cd ..
# rm -fr wp-captcha
# rm -f wp-captcha.zip

5.- Edita con nano vi o tu editor preferido los archivos wp-signup.php, wp-includes/wpmu-functions.php y wp-activate.php como lo indica el archivo wpmu-captcha-español-README.TXT


Via FTP

1.- Descarga wp-captcha desde aquí
2.- Descomprime el archivo wp-captcha.zip
3.- Copia los archivos wp-captcha.php y wp-captcha.jpg y VeraMoBd.ttf al directorio raíz de tu Wordpress MU
4.- Edita los archivos wp-signup.php, wp-includes/wpmu-functions.php y wp-activate.php como lo indica el archivo wpmu-captcha-español-README.TXT


Licencia:
wp-captcha es software libre y se distribuye bajo la licencia GPL (Licencia Pública General)

Sugerencias:
Cualquier sugerencia, comentario, crítica, etc. puedes hacerla aquí o por mail a oscar.rovira@gmail.com

Donaciones:
Si te ha gustado y ha sido de utilidad este script, puedes contribuir por medio de paypal a la cuenta oscar@digitalsoftproject.com
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=oscar%2erovira%40gmail%2ecom&item_name=wp%2dcaptcha&no_shipping=0&no_note=1&tax=0¤cy_code=USD&lc=MX&bn=PP%2dDonationsBF&charset=UTF%2d8

*Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos).

Archivado en: Trucos, WordPress, WordPress MU |

7 comentarios

  1. Éter Blog » wp-captcha 1.0 Captcha System for WordPress Mu Noviembre 22, 2007 @ 2:02 pm

    [...] wp-captcha Versión Español  [...]

  2. Alexis Noviembre 23, 2007 @ 2:04 pm

    Hola Oscar, un placer mis visitas aquí, donde encuentro el impulso del animo que me empuja en la aventura del cambio, pues da envidia la diferencia, haber, yo le tengo mucho cariño al Space, pero siempre aparece la inquietud de nuevas experiencias, en fin; valorare mis posibilidades, imagino que tampoco será de una dificultad extrema. En fin; buen fin de semana amigo, cuidate.

  3. Josemari Diciembre 4, 2007 @ 5:13 am

    Hola, estoy intentando integrar el Captcha en el WP MU pero me da un error:

    Warning: imagettftext(): Could not find/open font in /…asdfgasdfg…/blogs/wp-captcha.php on line 50

    Los ficheros se han subido/modificado con exito.

    Aprovecho para preguntarte si hay alguna traducción completa al castellano del WP MU, he puesto la de WP normal y hay partes que quedan sin traducir.

    Un saludo y enhorabuena por el blog. Y gracias por el contenido :D

  4. Oscar Rovira Diciembre 4, 2007 @ 3:07 pm

    Hola josémari
    La línea 50 es la siguiente:

    50 imagettftext( $captcha_image, 25, 3, 40, 40, $text_color, ‘VeraMoBd.ttf’, $key );
    51 $lines_to_draw = mt_rand (10, 20);

    En esa línea uso la funcion imagettftext la cual sirve para escribir sobre una imágen, la variable $captcha_image está configurada en la línea 28, que es la siguiente:

    28 $BG_Image=”wp-captcha.jpg”;

    Ahí debe de estar indicado el nombre de archivo que usaras como fondo para el captcha, puedes indicar la ruta absoluta o dejar sólo el nombre del archivo si es que haz puesto el archivo en la raíz de tu wordpress mu.

    Asegurate de que esté la imágen en formato jpg, que el nombre sea el mismo (wp-captcha.jpg)

  5. Josemari Diciembre 13, 2007 @ 5:34 am

    Ya lo he arreglado. El problema, como me temía, estaba en los paths, y lo he podido reparar poniendo un ./ tanto a la imagen para el captcha como a la fuente que se usa (dejo el comentario por si le es útil a alguien).

    Un saludo y gracias.

  6. sebastian Diciembre 23, 2007 @ 1:17 pm

    mira instale el wp mu, pero no soy usuario blogs, lo puse para que la gente tuviese su espacio… ahora bien tengo problemas… con los registros… cada usuario tiene su cuenta? por que no les manda contraseñas a nadie… y a mi me visa que hay un nuevo blog, no entiendo? , lo puse en español, y le agregue themes, algunos plug ins, como arreglo esto? o esta bien asi?
    http://www.blog.ya1111.com
    http://www.ya1111.com
    si alguien me puede dar una ayuda con el tema…
    o alguien me puede recomendar plugg inns…

  7. Sergio Marzo 5, 2008 @ 11:57 am

    Hola, he agregado las lineas de codigo que dice en el txt de ayuda, y veo la imagen del captcha bien en el signup.php
    Instale la ultima version de wordpress mu la 1.3.3, pero cuando un usuario escribe el codigo de verificacion para registrarse no pasa de la pantalla de signup, es decir, no llega a la pantalla de que se le ha enviado un mail.
    Para cerciorarme de que no era otro el problema quite el codigo de captcha de los archivos y entonces si se pueden registrar, cual puede ser el problema?

    *no da ningun error, sino que despues de colocar el codigo de verificacion y pulsar para registrarse vuelve a la misma pagina.

Deje un comentario