Questa guida nasce con lo postato il 04/12/2006 10:14:20 nel forum programmazione, gdrcd, open source, hosting
Questa guida nasce con lo scopo di rivelare ai programmatori come possono proteggere le land che programmano..
La guida ovviamente si basa sulla mie esperienze e conoscenze e pertanto potrebbe risultare non completa.
SQL injection
In cosa consiste??
La SQL injection è in pratica un inizeione di codice SQL dannosso attraverso un campo testo non opportunamente controllato (sia textarea o input box o barra degli indirizzi).
Come proteggersi?
Come prima cosa il mio consiglio è di usare il meno possibile il metodo get che mostra i nomi delle variabili e il loro contenuto nella barra degli indirizzi.
Usando il metodo post i dati sono leggeremtni più al sicuro perchè non in vista.
Un altro metodo elementare per proteggersi dalla sql injection è quella di non aquisire gli apici singoli come tali.
Gli apici singoli (') bloccherebbero l esecuzione della query facendo tornare errore e cosi si potrebbe capire la struttura del db.
Per questo consiglio di usare l htmlspecialchars che converte l' apice singolo nel suo codice html (ossia & #0039; senza spazi ).
Un' altra cosa che si potrebbe evitare sono due caratteri meno attaccati (--) che in SQL equivale ad un commento.
Perchè permettendo questi un utente che ha intenzione di fare danno potrebbe inserirli in modo da commentare quello che viene dopo e stoppare cosi la query dove vuole
Non sto a dire il resto perchè potrebbe essere usato contro di voi...
Quidni mi raccomando almeno usate l htmlspecialchars almeno e il più possibile il metodo post..
HTML injection
L html di per se non è dannoso, in quanto è linguaggio di formattazione testo. Tuttavia può diventare dannoso quando se ne permettono tutti i tag. Ricordo che in html esiste il tag <??> che permette di inserire script in php che è molto + letale :D
Un altro tag dannoso è <script> che permette di inserire script in qualsiasi linguaggio..
Per proteggersi da quest ultimo usate la funzione striptags che rimuove tutti i tag html tranne quelli scelti da voi...
Conclusioni
Io ho detto metodi base per proteggersi ma quelli descritti da me non bastano minimamente se qualcuno è veramente intenzionato a fare danni. Vi ho solo descritto le minacce più comuni con le soluzioni più semplice, poi sta a voi ampliare il discorso.
Comunque una buona cosa sarebbe tenere delle copie di backup del database e dei file stessi aggiornate..
Pagine → 1
04/12/2006 11:39:02
Rispondiamo un po' al caro Alex. Di norma per prevenire l'inserimento di codice "insidioso" si dovrebbero conoscere che potrebbero danneggiare un DB. Un sito americano, di sicurezza, converte tutto il testo processato in ascii in modo che anche comandi come UPDATE o altro possano passare tranquilli. Il mio consiglio di base è farsi delle funzioni di replace ad hoc. Oltre alle classiche citate da Alex ci potrebbero essere anche () , [] e via dicendo. Non è essere maniaci ma un po' di sicurezza non guasta mai. State attenti sopratutto alle registrazioni (per i siti che non hanno registrazioni con punteggi consiglio l'insermento di un'immagine di controllo) e ai Login passo fondamentale.
Detto Questo Enjoy the Web
My 0,02€
04/12/2006 14:07:15
Una cosa carina da fare è fare delle pagine e far sembrare che passi le variabile in get mentre invece le passi in post.. :D
Quello disorienta parecchio :D
04/12/2006 16:12:40
Associando ad ogni azione nel db un controllo, in effetti si è abbastanza protetti dalla SQL injection ma non dall HTML injection..
Per la cronaca in 10 land che ho visitato 6 mi hanno permesso di sloggare un utente appena guardava la mia scheda :D
05/12/2006 11:15:24
Ehi Kinley vuoi una piccolo trick? :D Zio Mook aka The Php Rompi say:
Usa un encode! Sui Manuali della O'Really si è spesso discusso di questa evenienza, di passare valori con GET. Un tipico utilizzo è codificare (con una qualche cosa reversibile non tipo SHA o MD5) i dati e per poi verificarli (puoi anche usare MD5 e metterlo anche nel verifica).
Questo metodo a dispetto di quanto si possa vedere viene usato anche da grandi aziende, con linguaggi diversi da PHP. Tanto per farti un esempio molte aziende che forniscono servizi di WebMail Usano addirittura i GET per il Login!
Questo ci farà molto molto riflettere.
Ecco, sappiate comunque che non esiste la difesa perfetta. Esiste solo il modo di rendere le cose più difficili!
Enjoy it!
my 0,02€
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
venus dormiens ha aperto un annuncio di ricerca: Origo Haeredis - Harry Potter Gdr ricerca Giocatore
Metin2: Server Boost Yohara – Dettagli e FAQ
Ikariam → Su una piccola isola, in qualche parte del Mediterraneo, sorge un`antica civiltà. Sotto la tua guida inizia un`era di ricchezza e di scoperte!
Sea of Conquest: Ci dai una mano ai #PocketGamer Awards 2024?
goldaries ha recensito Games of Thrones Winter is Coming
spike92 ha recensito Il Grande Blu
World of Warship: Aggiornamento 13.11: anteprima
CRSED: F.O.A.D. → Brutale sparatutto MMO in cui vince l'ultimo giocatore che resta in vita nell'arena! Ogni giocatore sarà accompagnato da armi realistiche e magie!
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
W40K Dathyar: Specializzazioni
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
I dati del generatore di rank sono stati aggiornati!
aik ha aperto una nuova discussione: Parere su BrowserGame
eXtremelot: La Bussola dei Cartografi di Lot
Dallas Black Gold: [Trama] JFK Memorial
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
Gdr by Forum - Scopriamo assieme cosa sono i gdr play by forum e le differenze con i gdr tradizionali
Add Me Fast - Aumentiamo gratuitamente il nostro seguito sui social network grazie al portale Add Me Fast!
Hero's Faith - Intervista al gestore di Hero's Faith: il server Minecraft RPG!
Túrin - Il personaggio di Turin tra letteratura greca, germanica e finnica
Regno delle Due Sicilie - Recensione del GDR storico del Regno delle due Sicilie.
Opéra - Intervista ai gestori del GdR storico ambientato in un oscura Francia di fine 800... Opéra!