1 dicembre 2008  3

Un nuovo servizio antispam orientato ai progetti basati su piattaforma .NET

Spam Il fenomeno dello spam è uno dei problemi che affligge maggiormente non solo le caselle di posta elettronica ma anche chi gestisce, per lavoro o per passione, blogW, forumW e/o piattaforme di social network.

Ormai esistono molti strumenti per combattere questa ormai fastidiosa consuetudine. I più diffusi si basano sull’ausilio di servizi on line, quali ad esempio Akismet di Automattic, che consistono sostanzialmente in webserviceW ai quali effettuare delle richieste di validazione dei dati costituenti il messaggio da recepire (sia esso un commento ad un post pubblicato su un blog, una risposta ad un thread su un forum, o anche un semplice messaggio inviato tramite un form di contatto).

Blogengine.NET è dotato di un sistema antispam che impedisce la registrazione dei commenti da parte di bot automatizzati: inoltre tramite le API di supporto alla gestione delle estensioni, è possibile creare dei plug-in anche molto complessi che consentono di intercettare e gestire l’intero ciclo di moderazione, approvazione e pubblicazione dei commenti in maniera estremamente agevole.

In passato avevo già segnalato il rilascio di un’estensione che consentiva l’integrazione del servizio offerto da Akismet anche nella gestione dei commenti da parte di Blogengine.NET. Sfortunatamente il plug-in realizzato da Justin Etheredge, si limitava semplicemente a validare o meno il commento, non dando alcuna possibilità di recuperarlo nel caso venisse classificato come spam (nel caso specifico veniva semplicemente rigettato e non messo in moderazione).

Ruslan Tur, ha pubblicato recentemente una recensione di una nuova piattaforma anti-spam, del tutto simile ad Akismet, anche se evidentemente non non parimenti famosa, denominata Waegis. Questo servizio, nelle intenzioni degli sviluppatori, è orientato principalmente al supporto di progetti sviluppati su piattaforma .NET.

Waegis site

Infatti è possibile scaricare i plug-in di supporto nativi per l’interfacciamento con il servizio stesso, per Community Server, Telligent Graffiti CMS e, naturalmente, anche per BlogEngine.NET, oltre che una libreria open source scritta in C# finalizzata all’uso di Waegis virtualmente in tutte le applicazioni sviluppabili in tale linguaggio o interfacciabili con esso.

Come per Akismet, l’utilizzo di Waegis è vincolato al rilascio di una API Key, senza della quale non è possibile accedere al servizio. Purtroppo quest’ultimo non è del tutto gratuito: infatti è possibile usufruire, nella sua versione free, di 5000 chiamate mensili alle API di servizio, eventualmente spalmabili su fino a 10 siti differenti.

Questo blog, naturalmente, rientra in maniera assolutamente agevole nei limiti previsti dalla versione gratuita del servizio (dalla nascita ad oggi, infatti, ha registrato poco meno di 1600 commenti, spalmati su un periodo di circa 15 mesi). Con queste premesse è stato ovviamente fisiologico voler provare le caratteristiche di Waegis.

Ad essere sincero non sono rimasto molto soddisfatto, non tanto dal sistema di valutazione dello spam (che mi è sembrato decisamente efficiente, nonostante abbia considerato come spam i miei stessi commenti di risposta) quanto sia dal plug-in sviluppato per Blogengine.NET, che dalla gestione della moderazione dei commenti insita in quest’ultimo.

Infatti il plug-in per funzionare correttamente necessità che sia attiva la moderazione dei commenti, e questo è un vincolo per me inaccettabile, dato che dovrebbe operare anche nella modalità contraria.

In realtà il problema è dovuto al fatto che esiste, a mio avviso, un errore formale (non un bug) nella procedura di visualizzazione dei commenti. Questi infatti vengono mostrati in coda ad un post, a prescindere dello stato del commento stesso (ovvero in moderazione o approvato) se l’opzione di moderazione globale di questi è disattivata.

Ruslan, interrogato dal sottoscritto sul fenomeno, sostiene che si tratta di una scelta progettuale voluta: se la moderazione è disattivata, i commenti vanno visualizzati a prescindere dal loro stato. A mio avviso è un errore formale grave perché non consente il corretto funzionamento dell’estensione di Waegis nel caso specifico, oltre che impedire la corretta esecuzione anche di altri plug-in che volessero utilizzare le routine demandate all’intercettazione della validazione dei commenti.

Ad ogni modo la modifica per la risoluzione del problema è decisamente semplice. Infatti è sufficiente aprire il file CommentView.aspx.cs presente nella cartella /User Controls/ ed individuare lo snippet di codice:

 135: //Add approved Comments
 136: foreach (Comment comment in Post.Comments)
 137: {
 138:   CommentViewBase control = (CommentViewBase)LoadControl(path);
 139:   if (comment.IsApproved || !BlogSettings.Instance.EnableCommentsModeration)
 140:   {
 141:     control.Comment = comment;
 142:     control.Post = Post;
 143:     phComments.Controls.Add(control);
 144:   }
 145: }

ove è necessario modificare solo la linea 139, per cui il ciclo diventa:

 135: //Add approved Comments
 136: foreach (Comment comment in Post.Comments)
 137: {
 138:   CommentViewBase control = (CommentViewBase)LoadControl(path);
 139:   if (comment.IsApproved)
 140:   {
 141:     control.Comment = comment;
 142:     control.Post = Post;
 143:     phComments.Controls.Add(control);
 144:   }
 145: }

Altro punto a sfavore del plug-in è naturalmente il mancato riconoscimento dei commenti registrati dagli utenti di Blogengine.NET (siano essi amministratori o editori).

Al di là della possibilità che essi stessi siano o meno riconosciuti come spam (ma questo ovviamente può dipendere da tutta una serie di fattori legati principalmente all’indirizzo di email utilizzato), non dovrebbero comunque essere sottoposti al filtro anche perchè andrebbero a sottrarre inutilmente delle chiamate alle API di Waegis dal numero massimo disponibile. Anche quest’ultimo dettaglio è comunque facilmente risolvibile: basta infatti inserire un banale controllo nel codice dell’estensione (che naturalmente è accessibile).

Il giudizio finale su Waegis è difficile da assegnare: il servizio funziona in maniera egregia, oserei dire con lo stesso grado di severità e di attenzione operato da Akismet (per lo meno per quanto mi è stato possibile provare).

Il mio consiglio è comunque quello di provarlo registrandosi sul sito: si preleva la propria API Key dopo aver fatto il login e cliccato dalla home page sul pulsante Get Started, indi si scarica e si installa nella consueta modalità l’estensione per Blogengine.NET, tendendo presente che quest’ultima richiede anche la copia di una libreria, fornita in dotazione, che va copiata nella cartella /Bin/ del proprio sito.

Se non si desidera attivare la moderazione dei commenti, è necessario per un corretto funzionamento, fare la modifica al codice appena descritta, mentre per quello che concerne il riconoscimento dell’autore del blog nei commenti, sarà necessario che il team di Waegis aggiorni il plug-in (il sottoscritto ha già provveduto ad informarli del problema).

I commenti sono come sempre a disposizione di chi vorrà condividere le sue esperienze in merito.

Aggiornamento

Come leggerete dal commento di Keyvan Nayyeri, il caso ha voluto che proprio alla data stessa di pubblicazione di questo articolo, Waegis abbia deciso di rendere completamente gratuito il suo servizio anti-spam. Inoltre, l'estensione per BlogEngine.NET verrà aggiornata per correggere l'anomalia da me rilevata sulla gestione dei commenti inseriti dagli autori dei post (o dagli amministratori).

Questo rende senz'altro più interessante l'offerta di Waegis, soprattutto in virtù del fatto che è orientata specificatamente verso la piattaforma .NET.

Esprimi il tuo giudizio

Commenti (3) -

Keyvan Nayyeri
Keyvan Nayyeri
01 dic 2008 alle 12:45  01
Thank you for your post about Waegis Smile

First of all, I should say that I didn't know the issue with BE.NET before but just realized the problem last week. As you said, it's something out of my control in an extension to fix that manner by BE; however, I'm going to release a new version of the extension very soon which includes the option to exclude editors from being evaluated.

Besides, a small correction is that from today (December 1st) Waegis is made completely free with no limitation. Announcement is being written.

P.S. as a personal advice, I'd recommend you to let Waegis work for a short while (less than a couple of weeks) to adapt with your content. We use several adaptive algorithms, and they show their real effect after a short while.
Cristiano
Cristiano
01 dic 2008 alle 15:35  02
Keyvan Nayyeri ha scritto:
Besides, a small correction is that from today (December 1st) Waegis is made completely free with no limitation. Announcement is being written.
It's a very good new!
Waegis is now much more competitive even compared to Akismet Wink

Why not develop in the new BE extension  also a system of statistics with a component (or widget) to show the number of comments identified as spam?
It would be a very interesting feature.
If desired, you can count on my support for this Smile
Keyvan Nayyeri
Keyvan Nayyeri
01 dic 2008 alle 17:25  03
Thank you for your offer.

Yes, it's one of the proposed features for the upcoming builds. I will add a new API method to receive per site statistics that can be easily used by clients in the extensions as well.

Feel free to drop a line with any comment or suggestion that you have. I'll be more than happy to include them on the service Smile

Aggiungi Commento

biucitecode
  • Commento
  • Anteprima
Loading


| |   |  

Codice QR

Codice QR - cristianofino.net

Ultimi Commenti