Tag Archives: web

Alternative al CAPTCHA

Lo SPAM imperversa sempre di più, e sempre più spesso gli spammer sfruttano i form dei siti.

Ormai la percentuale di SPAM nelle mail ricevute ha raggiunto il 90% e gli spammer, non contenti, da alcuni anni sfruttano anche i Blog e i CMS per impestare la rete con le loro schifezze.

Per quanto riguarda le mail è un continuo inseguimento: blacklist, filtri bayesiani, OCR sulle immagini, ecc. Ma anche i siti hanno dovuto rincorrere le continue innovazioni da parte degli spammer.

CAPTCHA

CAPTCHASono quindi nati i CAPTCHA di vario tipo, che si basano sulla (presunta) incapacità dei bot di spam di “leggere” il testo contenuto in un’immagine. Il sistema ha funzionato per un po’, finché i sistemi si sono evoluti e hanno iniziato a usare tecniche di OCR sui CAPTCHA stessi, facendone perdere efficacia: sono diventati via via più difficili da decodificare, ma anche per l’occhio umano oltre che per i bot.

Ne sono nati quindi nuovi tipi: dal CAPTCHA matematico (che potete ammirare nel form dei commenti di questo Blog :) ) a quello “sexy”, che si basa sulla capacità di una persona di distinguere un rappresentante bello del sesso opposto da uno brutto.

Purtroppo hanno tutti lo stesso problema: una persona con problemi di vista o qualcuno che naviga con browser testuali non li può utilizzare. Sono allora nati gli aiuti sonori ai CAPTCHA (che “pronunciano” le lettere nel CAPTCHA, per esempio), ma si scontrano col problema dell’audio sui siti: se l’utente sta ascoltando musica in sottofondo deve spegnerla, ascoltare il CAPTCHA, compilare il form, quindi riaccendere la musica

In un periodo in cui bisogna rendere la vita più semplice possibile all’utente, tutte queste complicazioni sono anacronistiche, e allontanano gli utenti.

Vediamo quindi alcune alternative, magari non perfette, ma con una buona percentuale di sicurezza. Continue reading

PHP, CGI, APC

Oggi stavo cercando di abilitare APC in locale (prima di metterlo sul server) per due motivi: migliorare le prestazioni di PHP e abilitare la possibilità di monitorare gli upload via AJAX.

Purtroppo ho scoperto sulla mia pelle che APC non serve a niente se si usa PHP via CGI, perché tiene tutte le pagine precompilate in shared memory, che naturalmente viene liberata alla fine di ogni processo CGI.

Quindi se state usando PHP come CGI, lasciate perdere APC. eAccelerator funziona, perché salva i precompilati su disco oltre che in RAM, ma non supporta (che io sappia) il monitoraggio degli upload.

Dovrò decidermi prima o poi a passare PHP4 in CGI e promuovere PHP5 a modulo di Apache, ma servirà un po’ di tempo per verificare che funzioni tutto senza problemi.

I buoni propositi per il 2008

Buon 2008 a tutti!

Dopo il post per gli auguri di Natale sicuramente non ve ne aspettavate uno per gli auguri di buon anno, vero? :)

Voevo postarlo poco dopo mezzanotte, ma la baldoria prima e la stanchezza poi mi hanno fatto desistere. Non credo sareste comunque stati lì a quell’ora a leggerlo, quindi non penso vi cambi molto la vita. ;)

Siccome a capodanno si elencano i buoni propositi per l’anno che sta arrivando, ho pensato di raccogliere qui i miei. Magari qualcuno è d’ispirazione anche per voi. Sono in ordine sparso, man mano che mi vengono in mente. Continue reading

Un piccolo regalo di Natale

Buon Natale a tutti!

E quale occasione migliore per fare un regalo ai miei (pochi) lettori?

Da un po’ di tempo stavo meditando di rilasciare il plugin per WordPress che ho scritto per migliorare un po’ questo blog. Non è niente di fantascientifico, solo una raccolta di widget che trovo utili per velocizzare la gestione del blog e per renderlo un po’ meglio graficamente.

Li trovate nella pagina dedicata: Shu widgets per WordPress.

Il giorno che il mondo ebbe termine… IE8 e Acid test

La notizia del giorno, che sta rimbalzando tra i siti, è che una beta interna di Internet Explorer 8 ha superato l’Acid Test 2!

Magari a molti questo non dice niente, ma per chi fa siti web la notizia è qualcosa che scuote le fondamenta stesse del loro lavoro. Pochissimi browser superano completamente l’Acid2, e Firefox NON è tra questi (lo sarà la versione 3, ora in beta). Lo superano Safari, Konqueror e Opera.

Perché è così importante? L’Acid2 è un test che mette alla prova il supporto ai CSS2.1 del browser. Se il supporto è implementato correttamente, il test riesce (e si vede una faccia sotto effetto di acidi :) ), mentre se ci sono degli errori di implementazione, la faccia sarà dall’irriconoscibile al rovinato. IE6 (e anche IE7) mostra solo un’accozzaglia di righe rosse, gialle e di pallini (qui una lista di risultati, anche se abbastanza vecchia).

Il pieno supporto all’Acid2 significa che serviranno molti meno salti mortali nella definizione dei CSS, per far apparire un sito come lo si vuole. E significa anche che si possono usare attributi CSS che finora erano preclusi.

Naturalmente non è tutto Acid2. Le caratteristiche messe alla prova sono solo una (piccola) parte delle specifiche CSS2.1, e rimangono ancora molte cose da sistemare anche al di fuori dei CSS (il motore Javascript, per esempio), ma questo significa semplicemente che la Microsoft, finalmente, si è resa conto che sta perdendo fette di utenti sempre più grosse, e che quindi deve darsi da fare per aggiornare il suo browser: la concorrenza fa sempre bene al mercato.

Speriamo bene anche per il resto, e intanto aspettiamo che la gente pass, se non a Firefox, almeno a Internet Explorer 7.

Lista di plugin per jQuery

Come raccappezzarsi nel mare di plugin per jQuery.

jQuery è una libreria in javascript per semplificare lo sviluppo client-side di siti, che offre in pochissimo spazio (20 Kb compressa, meno di 100 non compressa) funzioni utilissime per la navigazione e la modifica del DOM, per le richieste AJAX e per alcune animazioni di base (fading, folding, ecc.).

Per mantenere minimo l’impatto sui download è stato scelto di lasciare a plugin esterni la gestione di funzionalità aggiuntive, e di inglobare solo le più usate nel core. Uno dei plugin più famosi è UI, per la realizzazione di interfacce interattive.

Koller Juenger, nel suo blog, ha raccolto una lista di più di 240 plugin per jQuery, suddivisi anche per categoria e uso. Un lavoro titanico e molto utile.

I mali del mondo (secondo un sistemista/programmatore)

Ovvero le cose da evitare come la peste, le guerre, le carestie, la droga, ecc.

Quando una persona diventa programmatore o sistemista, la maggior parte delle volte viene affascinato da cose a cui non dovrebbe nemmeno pensare. Un cristiano potrebbe chiamarle “tentazioni demoniache”, un buddista “ricchezze terrene”, ecc. ecc. Invece sono da evitare il più possibile, e da abbandonare per poter raggiungere la Vera Illuminazione. Vediamone qualcuna. Continue reading

Zend Framework: qualche link

Zend FrameworkVediamo da dove partire per utilizzare questo ottimo framework.

Da qualche mese ormai uso Zend Framework per diversi siti, apprezzandone molto la flessibilità e la buona abitudine a non essere troppo invasivo. All’epoca la documentazione non era granché, ma sta migliorando molto col passar del tempo, e finalmente si vede qualcosa anche in italiano. Ho deciso quindi di raccogliere qualche link, sia per aiutare chi sta iniziando a usarlo per i propri siti, sia per avere un riferimento personale. Continue reading

PHP5: convertire gli errori in eccezioni

In PHP5 sono state introdotte le eccezioni. Perché continuare a ricevere errori e warning spesso ambigui?

Molto interessante il primo commento di questo post (che linka un post sul blog di Alex Netkachov) che spiega come convertire tutti gli errori di PHP (almeno versione 5) in eccezioni:

function errorHandler($errno, $errstr, $errfile, $errline) {
	throw new Exception($errstr, $errno);
}
set_error_handler('errorHandler');

In questo modo si ottiene anche un utile backtrace negli errori, in modo da scoprire, per esempio, dove è stata chiamata la funzione che ha generato l’errore, e i parametri passati.