2012-04-30 10 views
5

Das ist im Moment das sicherste für das Screening von Daten in PHP, um sie an die MySQL-Datenbank zu senden.Wie die Eingabedaten in PHP für mysql sicher entgehen

danken Ihnen)

+0

Zusätzlich zu den Antworten, es lohnt sich zu lesen http://stackoverflow.com/questions/60174/best-way-to -stop-sql-injection-in-php – eggyal

+0

Und wenn ich die mysql_connect verwenden? – frops

Antwort

11

Ich glaube mysql_real_escape_string() mysqli_real_escape_string() der beste Weg ist, Eingangsdaten zu entkommen

später bearbeiten, da alles ist veraltet und Informationen müssen gültig sein:

Versuchen zu verwenden PDO als vorbereitete Aussagen sind viel sicherer oder mysqli_*() functions, wenn Sie wirklich alten Code etwas up-to-date halten müssen.

+9

Ich würde argumentieren, Ihre Strings als Parameter zu vorbereiteten Aussagen ist sicherer. – eggyal

+0

Ich benutze es auch derzeit zu ihnen – frops

+0

Ich stimme eggyal zu. – Menztrual

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

Der obige Code hilft den meisten ungültigen Daten zu sanieren, nur nicht vergessen, dass Sie MySQL-Datenbank verbunden werden, haben für mysql_real_escape_string zu arbeiten ...

3

Derzeit ist die am meisten bevorzugte Weg, um Ihre Sicherheit zu gewährleisten, ist vorbereitete Aussagen.

Beispiel:

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

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

$rows = $preparedStatement->fetchAll(); 

dann, wenn die Daten htmlspecialchars() verwenden Anzeige unter

Verwandte Themen