- Home
- Categorie
- Coding e Sistemistica
- PHP
- Sicurezza dati nel database
-
Sicurezza dati nel database
Ciao! 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?.