Il nuovo blog lo trovate su www.melodycode.com!
Non sei loggato | | Login

Proteggersi dal Brute Force Aggiungi

News / Surfing

Benvenuto! Se sei un nuovo visitatore ti consiglio di iscriverti al mio Feed RSS in modo da essere sempre aggiornato riguardo l'uscita di nuovi articoli oppure sbirciare tra i tutorials ed i progetti.
Per avere un'idea del best-content presente in questo blog puoi leggere il post intitolato "Ed ora è il momento di rilanciare alcune iniziative! (1a parte e 2a parte)".
Buona navigazione e grazie per la visita!

Quando si crea un’applicazione, molto spesso, ci si dimentica del fattore “sicurezza”: plausibile nei piccolo progetti, ma necessario in quelli di vasta dimensione (in termini di visite e “notorietà”).
Il metodo di forza bruta consiste nel risolvere un problema provando tutte le possibili soluzioni finchè si trova quella corretta; se applichiamo ciò all’operazione di login, ciò si concretizza col provare tutte le password possibili (prese da un dizionario, oppure con altri metodi più o meno logici).
Come è facile intuire ciò richiede molto tempo, ma prima o poi il metodo darà i suoi frutti (soprattutto se la password è semplice).

Se uno stesso IP ha sbagliato password 10 volte in un solo minuto (o anche più), è possibile che stia tentando di forzare il sistema ecco quindi che gli ingredienti per capire se è in atto un attacco di forza bruta sono:

  • IP Address;
  • Numero Richieste;
  • Lasso di tempo.

Simon Willison sfrutta proprio questa logica per evitare che gente malintenzionata entri su account non propri (come era successo tempo fa a Twitter).
Il codice è in Python (usando Django), ma può essere immaginato in PHP, ASP, ecc…alla fine è solo questione di sintassi :)

Faccio notare (e non sono l’unico) come questa soluzione ha dei problemini non da poco:

  • Con l’uso dei proxy (o altri sistemi) ad un singolo IP possono corrispondere più utenti;
  • Gli Hacker solitamente usano delle BOTnet quindi hanno molti IP potenziali che possono utilizzare;
  • Si rallenta la fase di “login”, seppur di poco;
  • Bisogna stare molto attenti ai falsi positivi/negativi quindi tutto ciò deve essere affiancato ad un sistema atto a gestire questi casi.

Un altro sistema (alternativo o di supporto) sta nel mettere una pausa tra un tentativo e l’altro, ma anche qui è necessario bilanciare bene i tempi.

Daniele Simonin 8 Gennaio 2009 alle 10:38 Aggiungi commento

Flipping Typical Aggiungi

News / Surfing

C’è chi è ancora in ferie e chi lavora, il primo articolo del 2009 è un no-sense cioè un sito che se non fosse proposto sarebbe uguale :P
Navigando qui e la ho scoperto flippingtypical.com che come viene spiegato nella sezione wtf (trad: ma che ca**o) serve ad esplorare i font installati nel proprio computer (rilevati mediante questa tecnica).

Curioso :)

Daniele Simonin 5 Gennaio 2009 alle 12:32 Ci sono 2 commenti

Fly Off Page per jQuery Aggiungi

News / Software

Il plugin Fly Off Page per jQuery, nella versione 0.1, permette di far “volare” elementi di una pagina HTML.
Detta così non sembra niente di speciale (ed effettivamente non lo è :P), ad ogni modo invito tutti a provare l’esempio…può sempre nascere qualche idea carina.

Daniele Simonin 31 Dicembre 2008 alle 07:25 Aggiungi commento

Auguroni! Aggiungi

News / Pensieri

Volevo fare gli auguri a tutte le persone che seguono questo blog e quindi augurarvi un buon Natale ed un ottimo inizio d’anno 2009 :)

Daniele Simonin 26 Dicembre 2008 alle 13:28 Ci sono 6 commenti

Da HTML a PDF con PHP Aggiungi

News / Software

In un gestionale che sto sviluppando è stata richiesta la possibilità di creare dei documenti in modo automatico (che l’utente potrà scaricare in formato PDF).
Ci sono alcune classi PHP che svolgono questo compito: la prima che ho provato è stata dompdf che però non faceva al caso mio perchè non renderizzava correttamente i tag sup e sub, e quindi sono stato obbligato a spostare la mia attenzione verso “nuovi orizzonti”.
Con TCPDF ho trovato la soluzione a questo problema anche se ha qualche problema in più nel renderizzare correttamente le pagine HTML (che quasi obbligatoriamente devono essere formattate utilizzando le tabelle, al contrario di dompdf che probabilmente ha un motore di parsing HTML più evoluto).
Eccovi qui alcuni esempi di utilizzo di TCPDF :)

PS: Le mie congratulazioni a Nicola Asuni per la qualità di TCPDF: made in Italy!

Daniele Simonin 21 Dicembre 2008 alle 18:10 C'è un commento

FireUnit, Javascript Unit Testing Extension Aggiungi

News / Software

FireUnit
Questo plugin di Firebug permette in maniera piuttosto semplice di fare il debug delle nostre applicazioni Javascript.
Provando FireUnit potrete scrivere una cosa così:

  1.  
  2. // Simple true-like/false-like testing
  3. fireunit.ok( true, "I'm going to pass!" );
  4. fireunit.ok( false, "I'm going to fail!" );
  5.  
  6. // Compare two strings - shows a diff of the
  7. // results if they're different
  8. fireunit.compare(
  9.   "The lazy fox jumped over the log.",
  10.   "The lazy brown fox jumped the log.",
  11.   "Are these two strings the same?"
  12. );
  13.  
  14. // Compare a string using a regular expression
  15. fireunit.reCompare(
  16.   /The .* fox jumped the log./,
  17.   "The lazy brown fox jumped the log.",
  18.   "Compare a string using a RegExp."
  19. );
  20.  
  21. // Display the total results
  22. fireunit.testDone();
  23.  

Devo ancora provarlo ma non sembra male ;)

Daniele Simonin 18 Dicembre 2008 alle 11:52 Aggiungi commento

65 Plugins per MooTools Aggiungi

News / Surfing

In realtà il titolo originale dell'articolo è "Best Ever 65 mooTools Plugins and Demos, is it Better than jQuery?", chi mi conosce sa come un titolo del genere possa ferire il mio orgoglio :P (la risposta alla domanda è "Quite, possibly.").

Devo ammettere che alcuni plugin sono proprio carini...

PS: Su Wikipedia c'è la versione Inglese, Tedesca, ecc... per il termine "MooTools"...peccato manchi quella Italiana!!! Visto che comunque è un prodotto Made in Italy!

Daniele Simonin 16 Dicembre 2008 alle 07:26 Aggiungi commento

Cosa comporta lo sviluppo in AJAX Aggiungi

News / Surfing

Ajax JS
Ultimamente mi sono trovato a dover sviluppare delle Applicazioni Web utilizzando AJAX: per una maggiore velocità di sviluppo, una maggiore modularità e responsitivà dell'interfaccia.
Il framework che uso per la maggiore è il mitico jQuery accompagnato da alcuni plugin...ed è proprio qui il problema: "alcuni plugin".
Man mano che sviluppo (e necessito dei moduli aggiunti) carico il .js nell'header della pagina html per poi notare che alla fine includo circa 10-12 file Javascript.
Il peso del tutto? circa 200Kb, che vengono caricati solo la prima volta (visto che molto spesso i siti in AJAX sono mono-pagina) ammortizzati anche dalla cache del browser.

Così è la vita...

Daniele Simonin 12 Dicembre 2008 alle 15:58 Ci sono 4 commenti

PNG in IE6 con DD_belatedPNG Aggiungi

News / Surfing

Non ho potuto provare DD_belatedPNG (nome orribile) però sembra promettere molto bene vedendo il sito associato:

  • Usare PNG 24-bit usando la proprietà CSS background-image (supporta background-position e background-repeat);
  • Non viene usato AlphaImageLoader;
  • Risponde correttamente agli assegnamenti tramite Javascript (element.style) e alla pseudo-classe :hover;
  • Peso ridotto (~4 Kb compressi, ~7Kb non compressi);
  • Facile da usare.

Da provare...

Daniele Simonin 9 Dicembre 2008 alle 09:50 Aggiungi commento

Buone abitudini per creare CSS Aggiungi

News / Surfing

Tempo fa scrissi un tutorial riguardo l'organizzazione dei fogli di stile; Su acomment.net c'è un articolo molto interessante intitolato "Utilizing CSS Best Practices: Making a Great Blank CSS Template File for Next Projects".

In questo articolo viene data molta importanza all'ordine/organizzazione che viene seguito per creare il CSS, ad esempio separando il CSS Reset da tutto il resto (che sembra banale, ma non tutti fanno così) oppure creando una sorta di indice iniziale.

Merita una lettura...

Daniele Simonin 4 Dicembre 2008 alle 09:17 C'è un commento

Feed

infoPillole (by Wikipedia)

Ultimi commenti

  • mypizs: The child should feel no pain or discomfort from...
  • advaceadews: Today, I acai berry always look to your...
  • ViZ: Sei un grande!
  • enzo: ORA puoi provare JAMP ottimo framework scritto da...
  • Federico: PHP & template engine comparison:...

Calendario

Aprile 2014
L M M G V S D
« Gen    
 123456
78910111213
14151617181920
21222324252627
282930  

Archivio

Categorie

News casuali

Ultimi tutorials

Progetti

Alcuni miei lettori