Guida Altre Funzioni Su Come Evitare Sql-Injection - By WarXWar -

Stato
Discussione chiusa ad ulteriori risposte.

Samu®

Utente Emerald
30 Marzo 2010
824
82
148
381
Premetto di dire che tutte le cose di cui parlero le ho imparate seguendo il manuale del php e qualche guida su html.it più qualche aiuto su skype da Subsilence

Iniziamo come diceva subsilence sulla guida precedente il php ha molte funzioni a disposizione contro la tecnica del sql-injection

elenco delle funzioni:

mysql_real_escape_string();

questa funzione effettua l'escape dei caratteri immessi prima di inserirli nel database;
per usare questa funzione si deve inserire prima di lei, la connessione al database...

Seguendo lo script passo per passo (in ordine)

esempio:

mysql_connect('ip', 'user', 'psw');
mysql_select_db('database');

$variabile1 = mysql_real_escape_string($_POST oppure $_GET dipende dall'uso che dovete farne!['variabile1']);

$laquery = "quacidovraesserelavostraquery";

diciamo per ordine si intende questo!

voi vi chiederete perche se si usa mysql_escape_string non è oppurtuno l'ordine dello script?

che dire mysql_real_escape_string

deve cercare il database e poi effettua l'escape, mentre mysql_escape_string
puo anche non trovarlo ma effettuera ugualmente un escape in caso ci fosse la connessione!

molti diranno per non farla lunga cosa è meglio usare?

consiglio mysql_real_escape_string(); per il motivo che in altre versioni di php funzionera
a discapito di mysql_escape_string(); che su php 5.0 questa funzione non funziona!

altre funzioni:

addslashes(); la funzione inserisce il famoso "/"

str_replace("letteraoparolachenonvoletechevengaimmessa", "parolachevoletechealpostodiquellaapparirà", $nomedellavariabile);

questa funziona "rimpiazza" la lettera o frase che non volete che l'utente immette
in una parola che voi volete esempio

$variabile1 = str_replace("stupido", "intelligente", $variabile1);

poi possiamo trovare la funzione:

trim(); questa funzione sostituisce tutti i caratteri ASCII in uno spazio.

la funzione:

htmlspecialchars(); questa di solito viene usata per proteggersi dalle XSS ovvero
javascripts che intendono aggiungere alla sorgente noiose alert con messaggi stupidi!

poi ci sono altrefunzioni che voglio elencarvi anche se non intendono proteggere dal sql-injection

la funzione :

ucfirst(); questa sostituisce la prima lettera della frase che inserirà l'utente oppure che e gia inserita e si vuole visualizzare, in lettera maiuscola!

ci sono tante altre funzioni a presto faro un topic riguardante per tutte!

Buona continuazione ragazzi!
 
Stato
Discussione chiusa ad ulteriori risposte.