pepe: Passwortschutz

Hi,

Ich baue grade ne Website worauf sich in Zukunft Bilder von uns befinden werden die irgendwie Geschützt werden sollen.
Da fällt mir sofort .htaccess ein, aber ich möchte (auch aus Designgründen) einen PHP-Login machen.

Wenn ich die Bilder nun .htaccess-Schütze dann bringt mir mein PHP-Login nicht viel.

a) Bilder anders Schützen
b) Pseudo-.htaccess-Login mit PHP

a)
Hab keine Ahnung! wird wohl nichts sinnvolles geben..

b)
$username und $passwort vom Formular an script schicken
<?
HEADER("LOCATION: http://$username:$passwort@website.de/login.php") #.htaccess-Anmeldung
?>

<?

login.php

HEADER("LOCATION: http://website.de/index.php")

Zurück zur Homepage

?>

geht das so?
Ist das Sinnvoll?

Was hab ich noch für Möglichkeiten?

Pepe

  1. Hallo!

    [...]

    Baue Dir ein Login, der auf Sessions basiert.

    Die Bilder packst Du dann in einen Ordner, der mit .htaccess geschützt ist oder außerhalb des Document_Roots liegt. Die Bilder holst Du aus dem Ordner mit readfile(); und zeigst sie dem User an.

    <?

    login.php

    HEADER("LOCATION: http://website.de/index.php")

    Zurück zur Homepage

    ?>

    Der Besucher ist so lange eingeloogt, bis er den Browser schließt.

    André Laugks

    --
    Die Frau geht, die Hilti bleibt!
    1. Aha, also kommt kein User "von außerhalb" an die Bilder dran (wegen .htaccess) und mit PHP / readfile() kann ich das Bild trotzdem aus dem Ordner holen?

      Was war noch mal DOCUMENT_ROOT?

      Die Bilder werden sowieso ganz woanders liegen, da Sie alle CD Größe haben werden bilder auf einen Externen Server verlegt, wo wir die Bilder via CD drauf Spielen können...

      das macht doch dann schon wieder schwierigkeiten oder?

      Dann muss das Script was readfile() ausführ auch auf dem Server liegen wo die Bilder liegen gelle?

      Pepe

      1. Hallo!

        Aha, also kommt kein User "von außerhalb" an die Bilder dran (wegen .htaccess) und mit PHP / readfile() kann ich das Bild trotzdem aus dem Ordner holen?

        PHP kommt in diesem Fall mit der .htaccess-Datei nicht in Berührung. readfile() ließt das Bild aus.

        <img src="bild.php?datei=bild.jpg"> / <a href="bild.php?datei=bild.jpg">Bild Downloaden</a>

        bild.php

        readfile($_GET['datei']);

        Und Du überprüfst immer ob der User richtig eingeloggt ist, bevor Du ein Bild "ausließt".

        Was war noch mal DOCUMENT_ROOT?

        Das ist das Verzeichnis in dem die Webseite liegt.

        Dann muss das Script was readfile() ausführ auch auf dem Server liegen wo die Bilder liegen gelle?

        Nein, die Datei/Bilder können auch auf einem anderen Server liegen.

        André Laugks

        --
        Die Frau geht, die Hilti bleibt!
        1. Nein, die Datei/Bilder können auch auf einem anderen Server liegen.

          ähm, dann könnte ja jeder meine Bilder mit readfile("http://www.andererserver.de/geschuetzerbereich/pic01.jpg")
          lesen.

          Das darf gar nicht gehen.

          1. Hallo!

            ähm, dann könnte ja jeder meine Bilder mit readfile("http://www.andererserver.de/geschuetzerbereich/pic01.jpg")
            lesen.

            Im Prinzip ja. Du solltest auf dem Server wo "www.andererserver.de" läuft festlegen, wer oder was von wo aus auf was zugreifen darf. Da sind mehrere Wege möglich.

            André Laugks

            --
            Die Frau geht, die Hilti bleibt!
        2. Hallo André,

          readfile($_GET['datei']);

          herzlichen Glückwunsch - du hast soeben den Preis für das größte Sicherheitsloch gewonnen - mit datei=../conf/db.inc.php o.ä. kann man jede Datei auf die PHP Zugriff hat auslesen. Daten die vom User kommen dürfen _nie_ direkt verwendet werden!

          Grüße aus Nürnberg
          Tobias

          1. Hallo!

            readfile($_GET['datei']);
            herzlichen Glückwunsch - du hast soeben den Preis für das größte Sicherheitsloch gewonnen - mit datei=../conf/db.inc.php o.ä. kann man jede Datei auf die PHP Zugriff hat auslesen. Daten die vom User kommen dürfen _nie_ direkt verwendet werden!

            Du bist echt ein ganz schlauer Fuchs! Also manchmal frage ich mich wirklich... :-(

            Mal drüber nachgedacht, dass ich das Prinzip zeigen wollte!

            André Laugks

            --
            Die Frau geht, die Hilti bleibt!
            1. Hallo André,

              Mal drüber nachgedacht, dass ich das Prinzip zeigen wollte!

              Ja - ich wollte das aber nicht unkommentiert ins Archiv wandern lassen ...

              Grüße aus Nürnberg
              Tobias