Schutz vor SQL-Injection

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Schutz vor SQL-Injection

Beitrag von bce »

bringt die folgende funktion einen sicheren schutz vor sql-injection oder kann man drauf verzichten?

Code: Alles auswählen

/* Verarbeitet Variablen zum Schutz vor SQL-Injection-Attaken: */
function secure_sql($value){
  if (get_magic_quotes_gpc()) {
    $value = stripslashes($value);
  }
  if (!is_int($value)) {
    $value = "'" . mysql_real_escape_string($value) . "'";
  }
  
  return $value;
}
der aufruf sieht folgendermasen aus:

Code: Alles auswählen

$sql = "SELECT * FROM tablename WHERE remote = ".secure_sql($ipaddress);
Benutzeravatar
Giga4000
Beiträge: 181
Registriert: Sa 26.Nov, 2005 09:19
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Giga4000 »

Ja, das tut sie. Nur würde ich bei Ip-Adressen die php-Funktion ip2long verwenden, und die IP-Adressen dann als integer speichern.

Bei integer-Werten reicht ein einfaches (int) $ipaddress um vor SQL-Injection zu schützen. Damit wird die Variable nach integer umgewandelt und dadurch alle anderen Zeichen entfernt!
Zuletzt geändert von Giga4000 am Mi 22.Aug, 2007 14:39, insgesamt 1-mal geändert.
Site: www.mx-forums.de - New!
phpBB MODs: Click Here
Antworten