Come proteggersi SQL Injections in PHP

July 14

iniezioni SQL sono attacchi condotti contro un sito web che colpiscono database SQL del sito. Un gran numero di siti web utilizzano PHP per comunicare con i loro database, e ci sono alcuni modi per proteggere contro le iniezioni SQL attraverso il corretto uso di PHP.

Usare MySQL fuga String

Il "mysql_escape_string ()" funzione prende una stringa di input in PHP e restituisce la stringa con caratteri speciali SQL commentato in modo che non possano danneggiare il database. Un esempio di utilizzo è il seguente:

$ NewString = mysql_escape_string ($ inputString);

Rimuovere virgolette

virgolette singole sono personaggi in SQL che denotano l'inizio e la fine dei campi, e può essere il primo passo verso un attacco di SQL injection. Toglierli dalla stringa di input come segue:

$ NewString = str_replace ($ inputString, " '", "");

Mettere una fuga carattere davanti Caratteri speciali

Utilizzare il ") str_replace (" la funzione di mettere barre davanti caratteri speciali. Quando una barra è di fronte a un carattere speciale, SQL tratterà il carattere speciale come testo ordinario. Ad esempio, è possibile utilizzare il seguente codice di mettere una barra di fronte a ogni virgola:

$ NewString = str_replace ($ inputString, ";", "\;");

Utilizzare Mysql reale stringa di escape

La funzione "mysql_real_escape_string ()" è simile al "mysql_escape_string) (" la funzione, salvo che è utilizzato su dati binari. L'utilizzo di questa funzione è identica alla funzione mysql_escape_string (), come in:

$ NewString = mysql_real_escape_string ($ inputString);