Mailinglisten-Archive |
Hi Mike, Am Dienstag, 18. Juli 2006 10:06 schrieb Mike Hubner: > Ich bin gerade am security sachen ausprobieren, und deshalb ich > ich PHP script laut http://www.phpbar.de/w/Injection präpariert. > > Um bei der Eingabe vom username mit " or 1 /* einloggen zu können. > > Also der code so: > > $sql = 'SELECT COUNT(*) as eingeloggt > 2 FROM users > 3 WHERE username = "'.$_POST['username'].'" > 4 AND password = MD5("'.$_POST['password'].'")'; > 5 $result = mysql_query($sql); > 6 if (!$result) { > 7 trigger_error('MySQL Fehler: '.mysql_error(), E_USER_ERROR); > 8 } > 9 // mit $result arbeiten... > > Das funktioniert soweit auf meinen localen rechner ( Apache 2.0, > MySQL 5, PHP 5.1 ), jetzt habe ich aber den code nen Server bei nem > Provider raufgelegt, und siehe da, der gleiche code, mit gleicher > Datenbankdaten ect. funktioniert nicht, sprich das login schlägt > fehl. > > Ich kann mir nur vorstellen das es eine option gibt um bei MySql > mehrzeile Kommentare zu verbieten oder sowas in der Art. > > Ich hoffe jemand kann mir einen Tip geben warum das beim INET > provider nicht funktioniert Local aber schon. register_globals ist > bei beiden auf "ON". hast Du Dir mal auf beiden Servern den Inhalt von $sql ausgeben lassen? Gibt es da einen Unterschied zu sehen? Eventuell könnte es an magic_quotes liegen... Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive