Programmazione Web » Php » Evitare le Sql-Injection

Evitare le Sql-Injection

Difficoltà: Intermedio Scritto da Michele Sassi
Sito Web: http://www.comefaccio.net E-Mail
Questo tutorial è stato letto 1694 volte




L'incubo di ogni php-coder sono le php injection ovvere l'esecuzione arbitraria di codice SQL tramite form o url; in questo tutorial vedremo come difenderci.

Ci sono vari modi di agire:

Se la variabile deve essere INTEGER ad esempio un id, possiamo forzarla a diventare di quel tipo, con un semplice type casting:

<?php
$_GET[ "variabile" ] = (int) $_GET[ "variabile" ];
?>

Se invece è una stringa possiamo usare la funzione addslashes per trasformare ' e " in \' e \" ed evitare così le injection:

<?php
$_GET[ "variabile" ] = addslashes($_GET[ "variabile" ]);
?>

Adesso per farvi capire meglio vi farò un esempio di sql injection. Fingiamo di avere un form di login con username ($user) e password ($pass) e questa query:

SELECT * FROM utenti WHERE username='$user' AND password='$pass'

Se nel form di login scriviamo:

Username: freddy' OR 1=1--
Password:

La query magicamente diventa:

SELECT * FROM utenti WHERE username='freddy' OR 1=1--' AND password=''

Quindi si verrà loggati in ogni caso.

Aggiungi questo tutorial ai preferiti! Aggiungi questo tutorial ai preferiti


SEGNALA QUESTA RISORSA AD UN AMICO
Tuo nome
Tua mail
Nome amico
Mail tuo amico
Google
AREA UTENTI
E-MAIL PASSW
Perso la password?
I TUTORIAL PIU' LETTI
GIF ANIMATE
Script Gratis!
Spot

Sito Service
Tutorial per realizzare un sito web partendo da zero e script Asp per Aruba Server.

Tutorials & scripts
Articoli su HTML, CSS, PHP, ASP, Javascript, MySQL a cura di AG web solutions!

Guida Prestiti e Carte di credito
Giochi flash free
Giochi gratis online
Ricette di cucina gratis
Migliori torrent italiani
Notizie Dieta e Diete Alimentari

Cerca con Google