Sven Rautenberg: weiter gehts

Beitrag lesen

Moin!

Wollte mich auch wieder mal zu Wort melden. Dank der grossen Hilfe konnte ich mir selbst eine Lösung aus den vielen Ansätzen zusammenbasteln.

Naja, Lösung... ich weiß nicht so recht, deiner Lösung fehlt es am Essentiellen: Dem Zugriffsschutz für die, die die Bilder nicht sehen sollen.

Meine Gallery wird nun durch 2 Dateien geschützt. Die beiden Dateien liegen in einem frei zugänglichen Ordner, in welchem auch eine kleine Bildervorschau generiert ( Datei 1 ) wird ( Bilder sind 50 Pixel breits, daher fast nichts zu erkennen ) nun werden die Variablen an Datei 2 weitergegen welcher die die Bilder ausserhalb des Root Verzeichnis aufruft und anzeigt! Somit können die Bilder nur mit den beiden PHP Dateien angschaut werden. Perfekt!

Die Abwesenheit von Zugriffsschutz interessiert dich plötzlich nicht mehr?

Datei 1:
<?php
$fh = opendir("./");

Du öffnest das aktuelle Verzeichnis.

$verzeichnisinhalt = array();
while (true == ($file = readdir($fh)))
{
        if ((substr(strtolower($file), -3)=="jpg") or (substr(strtolower($file), -3)=="gif"))
        {
            $verzeichnisinhalt[] = $file;
        }
}

Du liest alle Dateien, die auf "jpg" oder "gif" enden, ein.

for($i=0;$i<count($verzeichnisinhalt);$i++)
    echo "<a href=./img.php?var=$verzeichnisinhalt[$i]><img src='./".$verzeichnisinhalt[$i]."' height=110 border=0 ></img></a>";
}

Du generierst einen Link mit Bildinhalt. Auf das Bild kann direkt zugegriffen werden, der Link führt zu deinem zweiten Skript.

Zugriffsschutz? Fehlanzeige! Diese Galerieübersicht kriegt jeder.

Datei 2:
<?php
$path = getcwd();

Du definierst dir das aktuelle Verzeichnis in $path.

$name = substr($path, 50);

Du schneidest willkürlich (eventuell passend für deine derzeitige Konfiguration und Verzeichnisbezeichnung) 50 Zeichen vom Pfad ab.

$slash ='/';
$path = '../../../../../../data/';

Du definierst $pfad neu mit vielen Slashes.

$bild = ($_GET['var']);

Du übernimmst unkritisch den per Parameter übernommenen Bildnamen.

$pic = file_get_contents($path.$name.$slash.$bild);
echo $pic;

Du liest den Dateiinhalt der Bilddatei (sofern sie denn tatsächlich existiert, den identischen Namen zu ihrem Vorschaubild hat, und vom Browser auch als Bilddatei erkannt wird) in eine Variable und gibst diese aus.

Gleichfalls gilt auch hier: Wer die URL aus dem Link kennt, kann das Bild abrufen. Den gleichen Effekt hast du, wenn du deine Bilder direkt zum ungeschützten Zugriff in ein Verzeichnis innerhalb von DOCUMENT_ROOT stellst.

Mit anderen Worten: Warum der Aufwand für den ganzen Kram, wenn du doch nichts geändert hast, außer Rechenzeit für die PHP-Skripte zu verbraten?

- Sven Rautenberg

--
"Love your nation - respect the others."
0 92

Problem mit fopen!

Phil
  • php
  1. 0
    Wolke
    1. 0
      Phil
      1. 0
        Wolke
        1. 0
          Phil
          1. 0
            Christoph Schnauß
            1. 0
              Phil
              1. 0
                Christoph Schnauß
                1. 0
                  Phil
                  1. 0
                    Wolke
                    1. 0
                      Phil
                      1. 0
                        Wolke
                        1. 0
                          Phil
                          1. 0

                            Doppelposting

                            Christoph Schnauß
                            • menschelei
                          2. 0
                            Wolke
                            1. 0
                              Phil
                              1. 0

                                Kein Doppelposting

                                Wolke
                                1. 0
                                  Phil
                                  1. 0

                                    Provider austricksen

                                    Christoph Schnauß
                                  2. 0
                                    Wolke
                                    1. 0
                                      Phil
                                      1. 0
                                        Christoph Schnauß
                                      2. 0
                                        Wolke
                                        1. 0
                                          Phil
                                          1. 0

                                            weiter gehts

                                            Wolke
                                            1. 0
                                              Phil
                                              1. 0
                                                Wolke
                                                1. 0
                                                  Phil
                                                  1. 0
                                                    Wolke
                                                    1. 0
                                                      Phil
                                                      1. 0
                                                        Wolke
                                                        1. 0
                                                          Phil
                                                          1. 0
                                                            Wolke
                                                            1. 0
                                                              Phil
                                                              1. 0
                                                                Wolke
                                                            2. 0
                                                              dedlfix
                                                              1. 0
                                                                Wolke
                                                                1. 0
                                                                  Sven Rautenberg
                                                                  1. 0
                                                                    Wolke
                                                                    1. 2
                                                                      Sven Rautenberg
                                                                      1. 0
                                                                        Wolke
                                                                        1. 0
                                                                          Auge
                                                                          1. 0

                                                                            ### Brett vor'm Kopf ###

                                                                            Wolke
                                                                            1. 0
                                                                              Sven Rautenberg
                                                                              1. 0
                                                                                Wolke
                                                                                1. 0
                                                                                  Sven Rautenberg
                                                                                  1. 0
                                                                                    Wolke
                                                                                    1. 0
                                                                                      Sven Rautenberg
                                                                  2. 0
                                                                    Wilhelm Turtschan
                                                                2. 0
                                                                  dedlfix
                                                                  1. 0
                                                                    Wolke
                                                                    1. 2
                                                                      dedlfix
                                                                      1. 0
                                                                        Wolke
                                                                        1. 0
                                                                          Sven Rautenberg
                                                                          1. 0
                                                                            Wolke
                                                                            1. 0
                                                                              Sven Rautenberg
                                                                              1. 0
                                                                                Phil
                                                                                1. 1
                                                                                  dedlfix
                                                                                2. 2
                                                                                  Sven Rautenberg
                                                                              2. 0
                                                                                Wolke
                                                                        2. 0
                                                                          dedlfix
                                                        2. 1
                                                          dedlfix
                                                2. 2
                                                  Sven Rautenberg
                                            2. 0
                                              Christoph Schnauß
                                              1. 0

                                                Du irrst dich

                                                Wolke
                                          2. 0
                                            Tobias Kloth
                                        2. 0
                                          Tobias Kloth
                                    2. 0

                                      Doppelposting

                                      Christoph Schnauß
                                      • meinung
                                  3. 0
                                    Tobias Kloth
                                    1. 0
                                      Vinzenz Mai
                                    2. 0
                                      Phil
                              2. 0
                                Christoph Schnauß
                      2. 0
                        Christoph Schnauß
              2. 0
                Tobias Kloth
          2. 1
            Wolke
            1. 0
              Phil
              1. 1
                Wolke
            2. 1
              dedlfix
      2. 0
        Christoph Schnauß
    2. 0
      Christoph Schnauß
      1. 1
        Wolke
        1. 1
          dedlfix
  2. 0
    tom0201
    1. 0
      Phil
      1. 0
        tom0201
        1. 0
          Phil
          1. 1
            Christoph Schnauß
            1. 0
              Phil
        2. 0
          Christoph Schnauß
      2. 0
        Christoph Schnauß
        1. 0
          Phil
          1. 0
            Christoph Schnauß