- Home
- Categorie
- Coding e Sistemistica
- Coding
- Sicurezza dati nel database
- 
							
							
							
							
							Sicurezza dati nel databaseCiao! sono tornato con un nuovo problema. 
 Volevo capire come usare le funzioni stringa, ho letto il manuale php, ma voglio capire bene quello che devo e qullo che si puo' fare.
 Le funzioni stringa che volevo usare, sono quelle per controllare che un utente malintenzionato non tenti di forzare il tutto.
 Ne ho trovate alcune: ltrim(), rtrim(), strip_tags(), stripslashes(), addslashes(), mysql_real_escape_string(), potrebbero essere utili.
 Ognuna di queste ha la sua funzione, se ne possono usare più di una per volta, come l'esempio sotto?
 Adesso vorrei capire se si usano così:[php] 
 $name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
 $email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
 [/php][php] 
 $email =mysql_real_escape_string ($_POST['email']);
 $pwd =mysql_real_escape_string (sha1($_POST['pwd']));
 [/php]Praticamente così prima di inserire i dati nel database si ripulisce la stringa da caratteri pericolosi. 
 Si usano sia per inserire i dati nel database, che per stamparli a video?
 Oltre questo quali accorgimento per proteggere i dati?.Ciao!!! Ciao!!!! 
    
 
- 
							
							
							
							
							Ciao mauranto99, dipende dal caso, è sufficiente la sola funzione mysql_real_escape_string per evitare di essere vulnerabile ad sql injection. Se non ci deve essere codice html, si può anche inserire nel database dopo l'utilizzo di htmlentities o di strip_tags a seconda della necessità. 
 
- 
							
							
							
							
							Ciao Thedarkita, 
 Scusa ancora, è giusto come le ho scritte nel primo messaggio?,
 ne posso usare più di una per volta?. Non ho capito cosa volevi dire con:
 ( Se non ci deve essere codice html, si può anche inserire nel database dopo l'utilizzo di htmlentities o di strip_tags a seconda della necessità ).Saluti grazie ancora. 
 
- 
							
							
							
							
							Ne puoi utilizzare quante vuoi, ma se c'è una logica nell'usarli insieme, non ci sono soluzioni che vanno bene per tutto ma dipende dal risultato che si vuole ottenere. 
 
- 
							
							
							
							
							Penso di aver capito, poche ma buone. Grazie!. 
 
- 
							
							
							
							
							Dimenticanza. 
 Un'altra curiosità, le funzioni si usano solo per inserire i dati nel database o anche per estrarli?.Grazie mille. 
 
- 
							
							
							
							
							Se le hai già utilizzare prima, di norma, non c'è motivo per riutilizzarle nuovamente. 
 
- 
							
							
							
							
							Ok!. 
 
- 
							
							
							
							
							Torno a disturbarvi. 
 Per controllare i dati, posso usare anche delle espresioni regolari?,
 possono essere utili?, si possono usare entrambi o si pasticcia tutto?.Ancora GRAZIE.  
 
- 
							
							
							
							
							Dipende cosa devi fare come sempre... tu cosa devi ottenere? 
 
- 
							
							
							
							
							Ciao! 
 Volevo usarle per controllare il login, visto che per loggarsi uso come username l'e-email e come password una password da 6 a 15 caratteri alfanumerici.
 Da precisare che nel database quando inserisco i dati, faccio già il controllo di username e password, se non sono una e-mail valida o la password non corrisponde alle mie aspettative blocca la registrazione.
 La mia intenzione era di fare il controllo della stringa con:
 mysql_real_escape_string e di fare un controllo con una espressione recolare per i due campi.
 Ancora, ma mysql_real_escape_string controlla anche i caratteri jolly?, o serve un altro controllo?.Per adesso basta. 
 Grazie ancora,CIAO!! 
 
- 
							
							
							
							
							mysql_real_escape_string non controlla nulla, ma semplicemente aggiungere caratteri di escape in modo che le query non siano soggette a sql injection. 
 Per un nome utente è sufficiente utilizzare un espressione regolare per consentire l'utilizzo di determinati caratteri.
 
- 
							
							
							
							
							I caratteri jolly come si possono bloccare?.