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 Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum

Intervista ai gestori di Lubecca: immergiti nel medioevo di una città del 1338!
Sondaggio → Ti piacerebbe giocare ad un GDR play by chat PvE basato sull'universo di Avatar di J. Cameron?
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!
Le Cronache di Raja Dunia: Panoramica Scheda Creature
Hogwarts Ends: Un Novembre pieno di novità
Hero Wars: Il Festival Spettrale è in pieno svolgimento!
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
RAID Shadow Legends: Aggiornamenti in evidenza 10.90.0
Miami Gdr: Utenza Test:chiarimenti su perchè non la inseriamo
La categoria Live Larp Grv raggiunge i 1.000 giochi catalogati!
World of Tanks: Speciale Pass di battaglia: The Walking Dead
Hero Wars → Costruisci la tua squadra di eroi leggendari e domina il campo di battaglia! Strategia, tattica e potenza si scontrano in questo RPG ricco di azione!
Extremelot: Challenge delle Zucche!
Pandora Upside Down High School: Gita scolastica - Ave Roma!
Il gestore di Western Redemption Gdr ha risposto alla recensione di andrewfg88
Sponsorizzati con noi! → Sponsorizza il tuo gioco su GDR-online! Trova nuovi giocatori fra i migliaia di appassionati che ogni giorno visitano il portale!
Amazing 40s - Intervista alla gestrice di Amazing 40s il play by chat ambientato negli anni 40!
Gamindo - Gamindo la piattaforma per donare in beneficenza semplicemente giocando!
Statistiche Tecniche 2016 - Gdr-online.com pubblica i dati tecnici dei suoi visitatori per l'anno 2016. Spulcia i dati disponibili!
I 7 Peccati - I 7 peccati capitali nei Giochi di Ruolo! Scopriamoli!
Lust & Blade - Intervista al gestore di Lust and Blade il play by chat storico ambientato in una Polonia medievale
Personaggi Badass - He-Man lo fa meglio! Costruiamo insieme un personaggio Badass!
Creare Mappe Fantasy - Vi presentiamo 5 programmi gratuiti per creare mappe fantasy per i vostri giochi!
