2012-04-30 10 views
5

Ciò significa che al momento sono i più sicuri per lo screening dei dati in php per inviarli al database mysql.Come sfuggire in sicurezza i dati di input in php per mysql

Grazie!)

+0

Oltre alle risposte di seguito, vale la pena di leggere http://stackoverflow.com/questions/60174/best-way-to -stop-sql-injection-in-php – eggyal

+0

E se utilizzo mysql_connect? – frops

risposta

11

io credo mysql_real_escape_string() mysqli_real_escape_string() è il modo migliore per sfuggire dati di input

Successivamente modificare dal momento che tutto è deprecato ora e le informazioni devono essere valida:

Tenta di usare PDO poiché le dichiarazioni preparate sono molto più sicure o mysqli_*() functions se è davvero necessario mantenere il vecchio codice aggiornato.

+9

Direi che passare le stringhe come parametri alle istruzioni preparate è più sicuro. – eggyal

+0

Attualmente lo uso anche per loro – frops

+0

Sono d'accordo con Eggyal. – Menztrual

4
validMySQL($var) { 
$var=stripslashes($var); 
$var=htmlentities($var); 
$var=strip_tags($var); 
$var=mysql_real_escape_string($var); 
return $var 
} 

Il codice di cui sopra consente di sterilizzare dati più validi, bisogna ricordare che hai di essere collegati a database mysql per mysql_real_escape_string a lavorare ...

3

Attualmente il modo più preferito per assicurare la vostra sicurezza è dichiarazioni preparate.

esempio:

$preparedStatement = $db->prepare('SELECT * FROM memebers WHERE username = :username'); 

$preparedStatement->execute(array(':username' => $username)); 

$rows = $preparedStatement->fetchAll(); 

poi quando si visualizzano i dati utilizzano htmlspecialchars()

Problemi correlati