PHP e SQL Injection


Rispondi
    Rispondi citando

PHP e SQL Injection

robertino » Ven Ott 08, 2010 9:40 am

Salve ragazzi
fino ad ora da autodidatta ho fatto qualche sito, ma mi sono accorto che la mia programmazione non è eccezionale e avrei bisogno di qualche aiuto!

Sull'apertura della connection e sulla chiusura delle query: di solito io uso fare un file connection.php. dove al suo interno metto questo:
Codice: < >

mysql_connect("host","user","pass") or die (mysql_error());
mysql_select_db("database") or die (mysql_error());


poi questo file lo includo nella index.php

Le query invece le strutturo così:
Codice: < >

$com1=mysql_query("SELECT comune FROM comune WHERE id_comune='$stringa' ");
$com11=mysql_fetch_array($com1);


E' giusto fare cosi? Come devo fare per fare una corretta programmazione??

Inoltre come posso fare in modo da proteggermi quando utilizzo il GET nell'url?
Perché mi sono accorto che se ho un url del tipo:
index.php?page=1&ciccio=726
dopo l'uguale possono mettere una qualunque query e far quello che vogliono!

Se infatti l posto ddi 726 metto
index.php?page=1&ciccio=''
la query mi da un sacco di errori .

Come risolvere?
Mi potreste dare qualche consiglio?

Grazie!

robertino
User Newbie
User Newbie
 
Messaggi: 2
Registrato: 08/10/10 09:24
    Invia messaggio privato Profilo   MSN

    Rispondi citando

gnix » Dom Ott 17, 2010 10:02 pm

Ciao. Per proteggersi dalle SQL injections e da altre numerose vulnerabilita', bisogna sempre fare il parsing dell'input ricevuto dall'utente.

Nel tuo caso, l'uso della funzione mysql_real_escape_string( ) (http://php.net/manual/en/function.mysql-real-escape-string.php) per ogni valore (che l'utente puo' alterare) usato all'interno della query ti rendera' immune dalle SQL injections.

gnix

_________________
Website: http://www.ptrace.net
Twitter: @ptracesecurity

gnix
User Newbie
User Newbie
 
Messaggi: 1
Registrato: 17/10/10 21:54
    Invia messaggio privato Profilo   HomePage


Rispondi

Sicurezza Informatica

Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi