Logging beim Herunterladen von Dateien
Logging beim Herunterladen von Dateien
am 26.07.2006 16:43:05 von Karsten Jacob
Hi NG.
Folgendes:
Ich möchte gerne mitloggen, sprich per PHP in eine Datenbank schreiben,
wenn Dateien bei mir auf dem Server heruntergeladen werden.
Die Dateien werden über stinknormale HTML-Links aufgerufen. Es sind
keine HTML-Seiten, sondern jpgs, pdfs etc.
Wie kriege ich das hin?
Gruß,
Karsten
Re: Logging beim Herunterladen von Dateien
am 26.07.2006 16:53:29 von Joerg Behrens
Karsten Jacob schrieb:
> Hi NG.
>
> Folgendes:
>
> Ich möchte gerne mitloggen, sprich per PHP in eine Datenbank schreiben,
> wenn Dateien bei mir auf dem Server heruntergeladen werden.
>
> Die Dateien werden über stinknormale HTML-Links aufgerufen. Es sind
> keine HTML-Seiten, sondern jpgs, pdfs etc.
>
> Wie kriege ich das hin?
Sinnvoll waere es das Logfile des Webservers auszuwerten.
Ansonsten bleibt nur ein download.php?file=/path/to/bild.jpeg und dein
download.php ermittelt den Mimetyp um einen Content-Type Header
zusenden um anschliessend per readfile() die Dateien durch zureichen.
Beschriebende Loesung macht aber nur Sinn fuer Downlaoads... und nicht
fuer die Bilder welches Schmuckwerk der eigentlichen HTML Seite sind.
Jenach frequentiertheit kostet es auch entsprechend Performance und
Resourcen.
Eine Variante hiervon waere es mit mod_rewrite alle URLs auf Bilder,
PDFs auf ein internes download.php umzuleiten. Hat zumind. den Vorteil
das du keine URLs aendern must und man von aussen das nicht sehen kann
was du da machst.
Gruss
Joerg
--
TakeNet GmbH http://www.takenet.de
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
Re: Logging beim Herunterladen von Dateien
am 26.07.2006 18:01:00 von Niels Braczek
Joerg Behrens schrieb:
> Karsten Jacob schrieb:
>> Ich möchte gerne mitloggen, sprich per PHP in eine Datenbank schreib=
en,=20
>> wenn Dateien bei mir auf dem Server heruntergeladen werden.
> Ansonsten bleibt nur ein download.php?file=3D/path/to/bild.jpeg und de=
in=20
> download.php ermittelt den Mimetyp um einen Content-Type Header=20
> zusenden um anschliessend per readfile() die Dateien durch zureichen.
Du meinst hoffentlich download.php?file=3Dbild, wobei der Rest vom Skript=
ergänzt wird. Ansonsten kommt schnell ein download.php?file=3Dconfig.in=
i
oder ähnliches.
13.3. Wie realisiere ich einen Dateidownload mit PHP?
http://www.php-faq.de/q/q-datei-download.html
MfG
Niels
--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: Logging beim Herunterladen von Dateien
am 26.07.2006 18:09:09 von Sven Drieling
Joerg Behrens wrote:
Hallo,
> Ansonsten bleibt nur ein download.php?file=/path/to/bild.jpeg und dein
> download.php ermittelt den Mimetyp um einen Content-Type Header
> zusenden um anschliessend per readfile() die Dateien durch zureichen.
Wenn die Dateien schon fertig auf dem Server liegen tut es auch
ein header('Location: http://www.example.org/pfad/zur/datei.zip');
innerhalb eines solchen Skripts.
tschuess
[|8:)
Re: Logging beim Herunterladen von Dateien
am 26.07.2006 19:40:19 von fsidler
Sven Drieling wrote:
> Joerg Behrens wrote:
>
> Hallo,
>
> > Ansonsten bleibt nur ein download.php?file=/path/to/bild.jpeg und dein
> > download.php ermittelt den Mimetyp um einen Content-Type Header
> > zusenden um anschliessend per readfile() die Dateien durch zureichen.
>
> Wenn die Dateien schon fertig auf dem Server liegen tut es auch
> ein header('Location: http://www.example.org/pfad/zur/datei.zip');
> innerhalb eines solchen Skripts.
>
>
> tschuess
> [|8:)
Schliesse mich an.
Glaube auch, dass es sich dabei um die meist Verwendete Methode
handelt.
Weiterer nachteil von readfile() ist das Wiederaufnehmen von begonnenen
Downloads.
Re: Logging beim Herunterladen von Dateien
am 26.07.2006 19:51:25 von Carsten Wiedmann
Sven Drieling schrieb:
> > Ansonsten bleibt nur ein download.php?file=/path/to/bild.jpeg und dein
> > download.php ermittelt den Mimetyp um einen Content-Type Header
> > zusenden um anschliessend per readfile() die Dateien durch zureichen.
>
> Wenn die Dateien schon fertig auf dem Server liegen tut es auch
> ein header('Location: http://www.example.org/pfad/zur/datei.zip');
> innerhalb eines solchen Skripts.
Nur ist nach dem ersten Aufruf des Scriptes die direkte URI zum Download
bekannt. Man hat also nur noch ein Schätzeisen...
Gruß
Carsten
Re: Logging beim Herunterladen von Dateien
am 26.07.2006 20:15:15 von fsidler
Carsten Wiedmann wrote:
> Nur ist nach dem ersten Aufruf des Scriptes die direkte URI zum Download
> bekannt. Man hat also nur noch ein Schätzeisen...
Richtig, aber im Normalfall sichert man die wirklichen Download
Locations auch vom Server aus ab (mod_rewrite, als Beispiel) wenn man
ein solches Script verwendet.
Re: Logging beim Herunterladen von Dateien
am 27.07.2006 12:03:54 von Karsten Jacob
>> Wenn die Dateien schon fertig auf dem Server liegen tut es auch
>> ein header('Location: http://www.example.org/pfad/zur/datei.zip');
>> innerhalb eines solchen Skripts.
Vielen Dank, das ist genau das, was ich gebraucht habe. Klappt einwandfrei.
Tüs,
Karsten
Re: Logging beim Herunterladen von Dateien
am 27.07.2006 12:23:22 von Carsten Wiedmann
fsidler@nospam.gmail schrieb:
> Carsten Wiedmann wrote:
> > Nur ist nach dem ersten Aufruf des Scriptes die direkte URI zum Download
> > bekannt. Man hat also nur noch ein Schätzeisen...
> Richtig, aber im Normalfall sichert man die wirklichen Download
> Locations auch vom Server aus ab (mod_rewrite, als Beispiel) wenn man
> ein solches Script verwendet.
Also das Zählscript leitet per Location-Header auf die Datei um, die dann
direkt vom Client runtergeladen wird. Wie sicherst du das mit mod_rewrite ab
(natürlich vom Referer mal abgesehen)?
Gruß
Carsten