Akismet, mas conocido como el plugin antispam por defecto de wordpress, tambien puede ser utilizado en cualquier sitio mediante su clase Microakismet, proporcionandonos sus funciones para detectar que contenido es o no es spam.
Su modo de uso es bastante sencillo, ya que se basa en 3 funciones basicas: check, spam y ham. Estas funciones trabajando con un unico parametro que es un array con datos como ser el contenido de un comentario, una ip, un eMail,etc; el contenido de este array lo veremos mas abajo.
Algo a tener en cuenta antes de utilizar Microakismet, es que vamos a necesitar una Api Key de Wordpress.com, pero obtenerla no implica mucha complicacion, solo debemos registrarnos en el sitio, y en la seccion "Profile" nos daran nuestra key.
Ahora si, veamos un pequeƱo ejemplo para que luego les sea mas facil de entender:
-
// Creamos el objeto
-
-
$akismet = new MicroAkismet( "tu api key de wordpress.com", "http://LaURLdetublog.com", "el user agent/1.0" );
-
-
// Comprobamos si es SPAM
-
if($akismet->check($vars))
-
echo "El mensaje es SPAM!";
-
else
-
-
// Declaramos un contenido como SPAM
-
$aksimet->spam($vars);
-
-
// Declaramos un contenido como No Spam
-
$akismet->ham($vars)
Bueno, ahora fijense que para todo el ejemplo utilizamos como parametros una variable de nombre '$var'; esta variable es una array asociativo que contiene todos los datos que Akismet puede analizar, los cuales son:
-
$vars ['user_ip'];
-
-
$vars ['user_agent']
-
-
//Estos dos deben ir si o si, los siguientes son opcionales:
-
-
$vars ['comment_content'] // El contenido de un comentario a analizar
-
-
$vars ['referrer'] // El contenido del HTTP_REFERER que viene en el header
-
-
$vars ['permalink'] // El link permanente al comentario
-
-
$vars ['comment_type'] // Si es un comentario, o un trackback o un pingback, etc.
-
-
$vars ['comment_author'] // Aquel que envio el comentario
-
-
$vars ['comment_author_email'] // El eMail del autor
-
-
$vars ['comment_author_url'] // la url que ingreso el autor
Antes de terminar les dejo un ejemplo de la pagina oficial en el cual voy a tratar de traducir los comentarios(del codigo) del autor para ver si se entiende mejor:
-
// Declaramos el array
-
-
// Mediante un foreach le agregamos el contenido del array $_SERVER para ayudar al funcionamiento de Akismet
-
foreach ( $_SERVER as $key => $val ) { $vars[ $key ] = $val; }
-
-
// Rellenamos los datos obligatorios de nuestro parametro
-
$vars["user_ip"] = $_SERVER["REMOTE_ADDR"];
-
$vars["user_agent"] = $_SERVER["HTTP_USER_AGENT"];
-
-
// El cuerpo del mensaje a comprobar, el nombre de la persona que
-
// lo envio, y su direccion de eMail
-
$vars["comment_content"] = $_POST["comment"];
-
$vars["comment_author"] = $_POST["sender_name"];
-
$vars["comment_author_email"] = $_POST["sender_email"];
-
-
// ... Y podemos seguir agregando los campos que necesitemos
-
-
// Creamos nuestro objeto MicroAkismet con nuestros datos
-
$akismet = new MicroAkismet( "tu api key de wordpress.com", "http://LaURLdetublog.com", "el user agent/1.0" );
-
-
// Comprobamos si es spam
-
if ( $akismet->check( $vars ) ) {
-
}
-
else {
-
// Lo que sea que haga si el mensaje no es SPAM
-
}
Bueno, eso es todo, si alguien lo prueba que deje un comentario aqui para ver que tal le fue.
Via | Sentido Web
Enlace | MicroAkismet


Junio 16th, 2008














Un poco de hum...



