PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL-Injection



phoku
30-11-2005, 15:14
Hallo,

ich schreibe gerade an einer Applikation, bei der es sich lohnt SQL-Injections zu verhindern. Kann mir jemand einen Rat geben, welche Methoden die besten sind?
Bisher gucke ich in jede Variable, die vom User kommt wie folgt rein:


/*
* string auf sql-injection prüfen
*/
function getInp($s) {
/* leerzeichen vorne und hinten löschen */
$s = trim($s);

/* stripslashes, falls nötig */
if (get_magic_quotes_gpc()) {
$s = stripslashes($s);
}

$s = mysql_real_escape_string($s);

return $s;
}

mfg
phoku

Turbohummel
30-11-2005, 18:04
Warum so kompliziert?


/**
* Escaped einen String für sichere Benutzung in der Datenbank
*/
function escape($string, $quotes = true){
$buffer = mysql_real_escape_string($string);
if($quotes) return '"'.$buffer.'"';
else return $buffer;
}

/**
* Descaped einen String, der für die Datenbank escaped wurde.
*/
function descape($string){
return stripslashes($string);
}

nEox
30-11-2005, 19:12
Hi phoku,

jenachdem wie paranoid du bist :) kannst du dir mal das hier ansehen: http://sagmueller.net/spa.pdf (Seite 7, sehr gelungen die PDF - ist glaub von jemandem hier aus dem Board).

PHP-Filter-Set gibts hier:
http://www.owasp.org/software/labs/phpfilters.html

Und wenn dich weitere Möglichkeiten interessieren ist folgende Präsentation zu empfehlen:
http://www.hardened-php.net/articles/PHPUG-PHP-Sicherheit-Parametermanipulationen.pdf

Gruß,

nEox