Hi,
leider gibt es auf funpic.de imho keine PDO-Unterstützung für PHP Anwendungen. Welche Möglichkeiten habe ich, dennoch Prepared Statements zu verwenden? Prinzipiell habe ich auch mit dem Gedanken gespielt, die MySQL-bezogenen Dinge in einer separaten Klasse zu kapseln. Nur kann ich mir nicht vorstellen, dass mysql_real_escape_string()
ausreichender Schutz gegen SQL-Injections darstellt. Hat jemand Erfahrungen damit?
LG
/EDIT: sicherlich ist das folgende sehr blauäugig, aber mir fehlt einfach die Erfahrung mit SQL-Injections
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php $i = secure($_GET["i"]); $d = secure($_GET["d"]); $s = secure($_GET["s"]); function secure($parameter) { if (!is_numeric($parameter)) { return mysql_escape_string($parameter); } if ((int)$parameter == $parameter) { return (int)$parameter; } if ((double)$parameter == $parameter) { return (double)$parameter; } } print "<pre>"; print $i . ' (' . gettype($i) . ")\n"; print $d . ' (' . gettype($d) . ")\n"; print $s . ' (' . gettype($s) . ")\n"; print "</pre>"; ?> |
Als Beispiel-URL habe ich mal http://localhost/secure?i=14&d=28.14&s=Hallo'Welt
probiert und keine probleme festgestellt... kp ..
btw habe ich hier nur mysql_escape_string verwendet, da die andere imho eine mysql verbindung benötigt (im eigentlichen code würde ich dann zur genannten funktion umschwenken).
1 2 3 | 14 (integer) 28.14 (double) Hallo\'Welt (string) |