Stanotte, fino circa alle 2:00 ho lavorato sul problema
della HIP nelle pagine di .TEXT di UgiDotNet. Alla fine ho realizzato una bozza
del sistema, che mi pare possa funzionare bene e l'ho passata a d Andrea
Saltarello, per avere un suo parere e se la cosa funziona ovviamente
installarlo.
La struttura di .TEXT, come segnalato da Davide in un post di stamattina, mi
ha convito ad usare il seguente meccanismo per realizzare la protezione:
- ho basato il lavoro sul componente descritto in MSDN in questo articolo
- ho creato uno UserControl che contiene una Immagine, una textbox e un
validatore. Lo usercontrol è del tutto autonomo, nel senso che genera
automaticamente la sequenza di lettere e cifre da rendere nell'immagine,
valida il contenuto della textbox e visualizza il messaggio di errore quando
serve.
- la sequenza di lettere e cifre è realizzata prendendo i primi 6 caratteri
di un Guid generato con System.Guid.NewGuid()
- Sono intervenuto su tutti gli skin di default, inserendo un riferimento al
mio usercontrol nella giusta posizione. A questo la form accetta il commento
solo se l'immagine e la texbox contengono la medesima stringa, in caso
contrario genera una nuova stringa e chiede che la validazione sia effettuata
nuovamente, senza perdere il testo del commento imputato.
- Alla fine ho passato tutto ad Andrea che quando avrà un po' di tempo gli
darà un'occhiata. Lo zip, che al termine del lavoro renderò pubblico per gli
altri weblog che usano .TEXT, contiene gli assembly del generatore di HIP,
tutte le UI delle skin e quella dello UserControl. Lo UserControl non ha un
codebehind, ma usa uno script inserito in calce all'HTML per consentire una
facile customizzazione della generazione della stringa di validazione che al
momento corrisponde ad una riga di codice.
Spero che tutto funzioni a dovere e che Andrea trovi il tempo di installarlo,
perchè i dannati spammer continuano a rompere...
powered by IMHO