Schizzi Mentali Improvvisi

Un cervello alle prese con il vuoto spinto che lo pervade

HTC Hero

clock agosto 25, 2009 12.48 by author LoneHawk

Alla fine l'ho fatto.

Ho abbandonato il mio vecchio (si fa per dire) Nokia 5140i, che alla fine era un ottimo cellulare, ma, appunto, solo un cellulare (chiamate, sms, poco più), per passare al nuovissimo (e no, non si fa per dire) HTC Hero, uno smartphone di ultimissima generazione, equipaggiato con sistema operativo Android.

Che dire, lo sto provando da qualche giorno e devo dire che è veramente fantastico!

La cosa più bella è la possibilità di scaricare e installare una miriade di applicazioni, moltissime gratuite, per gli scopi più svariati: navigatori per viaggiare, giochi, applicazioni multimediali, tools per veri nerds... insomma, è veramente una bellezza, senza dimenticarsi dell'interfaccia multitouch estremamente comoda.

Consigliaterrimo!



BlogEngine.Net: Firefox, Sessione ed eventi lato server

clock agosto 25, 2009 12.10 by author LoneHawk

Essendo l'admin non solo del mio, ma anche del blog di Silvia (mia moglie, per i lettori novelli), mi sono trovato ad affrontare una piccola rogna con l'impostazione di una variabile di sessione durante l'esecuzione dell'evento lato server Page_Load.

Il problema nasce quando tento di mettere la protezione captcha ai commenti: visto che BlogEngine.Net invia i commenti attraverso Javascript, l'unico modo di avere una variabile lato server per il confronto del captcha era impostarlo in una variabile di sessione, quindi, stringendo molto, il mio evento Page_Load assomigliava a qualcosa del genere:

protected void Page_Load(object sender, EventArgs e)
{
    ...
    myCaptchaValue = GenerateRandomString();
    Session["captchaValue"] = myCaptchaValue;
    ...
}

Ed ecco che arriva il ma: quando BE.NET renderizza le pagine dei post, genera anche questi tag nella sezione HEAD della pagina:

<link rel="last" title="Ultimo post" href="...." />
<link rel="first" title="Primo post" href="..." />
<link rel="next" title="Prossimo post" href="..." />
<link rel="prev" title="Post Precedente" href="..." />

Firefox interpreta questi tag per l'esecuzione del prefetching, ovvero carica le pagine segnalate in memoria per velocizzare la navigazione.
Il problema è che ad ogni caricamento la sessione con il valore del captcha veniva rigenerato, quindi quando un utente inseriva il captcha che vedeva a video, il risultato era sempre un ko, perchè il valore era diverso da quanto c'era nella variabile di sessione.
Grazie a dio, i browser che effettuano il prefetching inviano un particolare contenuto negli header, ovvero settano l'header HTTP-X-Moz = "prefetch".
Quindi la soluzione che ho applicato è:

protected void Page_Load(object sender, EventArgs e)
{
    if(!string.IsNullOrEmpty(Request.Headers["X-moz"]) && Request.Headers["X-moz"].Contains("prefetch")) return;
    ...
    myCaptchaValue = GenerateRandomString();
    Session["captchaValue"] = myCaptchaValue;
    ...
}

E il gioco è fatto :)



Le sfumature dell'hacking

clock agosto 5, 2009 00.57 by author LoneHawk

Inchiesta di Repubblica.it sulle truffe basate sulle carte di credito. Innanzitutto buongiorno, con le decine di migliaia di mail di phishing che girano ogni giorno.

In secondo luogo, Fabio Tonacci, il giornalista, etichetta immediatamente come "hacker" chi vende carte di credito clonate o effettua truffe finanziarie.

Ecco, bravo, nel 2009 scateniamo un'altra caccia alle streghe. Possibile che dopo 20 anni ci sia ancora gente che non capisce che nulla è bianco e nero, e che magari informarsi prima sarebbe meglio?

Perchè hacking non vuol dire quasi mai fare qualcosa di illegale. Un hacker era anche mio nonno, che smontava i tostapane per capire come mai non funzionavano più.

Eccheppalleh!