Vedere se uno script e' vulnerabile e' molto semplice: basta guardare se vengono filtrati i dati in ingresso o no. Il tuo script e' quindi vulnerabile, perche' prendi i dati inviati via POST e li passi ad una query cosi' come sono senza fare nessun controllo.
La prima cosa da fare sarebbe non accettare valori che contengano caratteri non consentiti. Per esempio, se uno username dev'essere solo alfanumerico, controllare che il valore passato sia effettivamente alfanumerico. Se contiene altri caratteri, lo si rifiuta con un messaggio di errore. Idem per la password o qualunque altro dato. Chiaramente a seconda dei dati sara' piu' o meno facile restringere il campo di caratteri accettabili (ad esempio un indirizzo email contiene diversi caratteri oltre a semplici lettere e numeri), ma e' comunque un'importante misura di sicurezza.
In ogni caso una buona cosa da fare (sempre, anche se si e' filtrato l'input come detto sopra) e' usare la funzione mysql_real_escape string() su ogni cosa che venga passata ad una query.
Tornando al tuo script, vedo che le password vengono scritte nel db in chiaro. Questa e' un'altra cosa da evitare, meglio - ad esempio - memorizzare l'hash della password codificandola con la funzione md5().

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando