Re: _php,_mysql_->_fotos_aus_db_laden_und_fuer_WEB-Sei
Christian Boltz <suse-/[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Hallo Tim Oliver, hallo Leute,
irgendwas hat das Subject zerrupft. Ich repariere wenigstens mal das
"ü".
Am Dienstag, 7. September 2004 13:23 schrieb Tim Oliver Wagner:
> [...]
> Leider folgenden Output im Browser:
>
> The image
> âhttp://localhost/websites/post-sv-badminton.de/index_getPic.php4?id=
>f326363aeb3cbd1c3ed4ec5a2b8250e7â cannot be displayed, because it
> contains errors.
Schuss ins Blaue: Irgendwas wird vor dem Bild ausgegeben. Das kann ein
Leerzeichen oder eine Leerzeile sein (steht das "<?php" wirklich _ganz_
am Anfang des Scripts?) oder aber eine Fehlermeldung.
Der Abruf des Bilds mit lynx -dump > tempfile und anschlieÃenem
Betrachten des Anfangs von tempfile sollte das klären.
AuÃerdem empfehlenswert: log_errors = on in /etc/php.ini
(anschlieÃend Apache neu starten), damit Fehlermeldungen auch im
Apache-Errorlog landen.
> Hier der Code Ausschnitt:
> $connection = connectToDefaultDB();
>
> $query = "SELECT * FROM fotos WHERE id='" . $_REQUEST['id'] . "";
Schöne Sicherheitslücke...
Denk nur mal an den URL-Parameter "...?id=10;DELETE * FROM fotos",
natürlich mit sauber escapten Leerzeichen und so.
Daten, die vom User kommen, sollten *nie* ungeprüft verarbeitet werden.
In diesem Fall bietet sich mysql_quote an, im Allgemeinen auch
preg_match und/oder preg_replace zum Ãberprüfen oder
"gültigmachen" [1] ;-) der Daten.
Lesetipps:
12.11. Prüfe importierte Parameter. Traue niemandem
http://www.dclp-faq.de/q/q-sicherheit-parameter.html
12.1. Wie unterscheide ich böse Variablen von guten?
http://www.dclp-faq.de/q/q-security-variablen.html
> Ich hoffe es kann mir noch jemand einen kurzen Tipp geben.
Ja: Lass das TOFU bleiben - http://learn.to/quote
[Fullquote gelöscht]
GruÃ
Christian Boltz
[1] kann z. B. dadurch erfolgen, dass nur gültige Zeichen erlaubt werden
und alles andere rausgefiltert wird.
Als sed-Befehl: s/[^a-zA-Z0-9]/_/g - sprich: alles auÃer
Buchstaben und Ziffern wird durch einen Unterstrich ersetzt.
--
> David, bitte wegschauen... Nein David, das hast Du nicht gesehen. Es
> ist alles OK, David... Ganz ruhig... :-)
*augen wieder aufmach* *haende von den ohren nehm*
Haeh? Was? Hab ich was verpasst?
[> Thomas Hertweck und David Haller in suse-linux]
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
suse-programming-unsubscribe-IBi9RG/[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: suse-programming-help-IBi9RG/[email protected]