phpbar.de logo

Mailinglisten-Archive

[php] Sicherheitsfrage: Files mit PHP vor download sch ü tzen

[php] Sicherheitsfrage: Files mit PHP vor download sch ü tzen

Andreas Heigl a.heigl at wdv.de
Mit Sep 22 08:07:11 CEST 2004


Am 22.09.2004 7:47 Uhr schrieb "Tobias Krais" unter <krais at bats.ch>:

> Liebe Liste,
> 
> ich habe ein paar Files, die ich nur mit Passwort zum download anbieten
> will. Deshalb zeige ich nur den Link zum download an, wenn eingeloggt
> wurde. Aber jetzt könnte  jemand einen direkten download starten. Was
> mache ich dann?
> 
> Wenn ich das Verzeichnis mit Passwort schütze, dann muss der Nutzer ja
> noch ein Passwort eingeben. Das möchte ich eigentlich nicht. Welche
> Lösungen benutzt ihr dazu?
> 
> Grüssle, Tobias
hi

ich hab ein skript geschrieben, dass prüft, ob eine authentifizierung
erfolgreich war und anschliessend eine datei, deren pfad per GET oder POST
übertragen wurde aus dem dateisystem ausliest und an den browser überrträgt.

sieht folgendermassen aus:

<?php
session_start();
if ( ! $_SESSION['auth'] ) {
    $log = new Log ('foo',LOG_AUTHPRIV);
    $log->write ( 'Someone tried to read file ' . $_GET['file'] . ' without
authentication from '. $_SERVER['HTTP_PC_REMOTE_ADDR'], LOG_WARNING );
    die ("no authentification");
}
if ( is_readable ($_GET['file'] ) ) {
    header('Content-Type:' . FileHelper::getMimeType (  $_GET['file'] ) );
    echo file_get_contents ( $_GET['file'] );
}
else {
    echo 'Sorry, but the File is not readable';
}
?>

und der download-link sieht so aus:

<a href="pfad/zum/skript?file=/pfad/zur/datei">

viel spass

andreas
-- 

wdv Medien & Kommunikation GmbH & Co. OHG
Mediendatenverarbeitung
Andreas Heigl
Siemensstrasse 6
61352 Bad Homburg
Germany
Telefon +49-(0)6172-670-185
Telefax +49-(0)6172-670-181
www.wdv.de


php::bar PHP Wiki   -   Listenarchive