Herausfinden ob ein Bild direkt heruntergeladen wird

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Herausfinden ob ein Bild direkt heruntergeladen wird

    Hallo ich habe folgendes Problem.

    Im HTML File hab ich folgende Zeile:
    <img alt="test" src="bild.php?id=123" />

    In bild.php wird logischerweise das korrekte Bild geholt. In dieser Datei steht zudem folgendes.

    if($_SERVER["SCRIPT_NAME"]==$_SERVER["PHP_SELF"]) {
    ....
    }

    Er überprüft ob das File direkt aufgerufen wird und würde an dieser Stelle ein Wasserzeichen einfügen. Wenn es im HTML File angezeigt wird sollte das dann nicht der Fall sein, ist es aber.

    Wieso?

  • #2
    Er überprüft ob das File direkt aufgerufen wird
    Wie kommst du zu der Annahme? Mal Testausgaben gemacht, bzw. logisch drüber nachgedacht?

    Kommentar


    • #3
      klar hab ich das, ist tatsächlich so

      Kommentar


      • #4
        Dann fang mal an zu begründen.

        Berücksichtige dabei, dass HTTP ein zustandsloses Protokoll ist und dass der Browser dir nicht verrät, wo er die daten, die er gerade anfordert, anzeigt.

        Kommentar


        • #5
          Ok, sry mein fehler, wie kann ich das denn in PHP überprüfen ob ein File included worden ist?

          Kommentar


          • #6
            gar nicht, weil php serverseitig abläuft und davon nichts mitbekommt...

            Evtl. kannst du dein Vorhaben mit Sessions realisieren. Hatten wir schonmal hier...

            Kommentar


            • #7
              hab vorher bereits gesucht aber noch nichts gefunden, weisst du noch wie der thread hiess?

              Kommentar


              • #8
                such mal nach download oder bild

                Kommentar


                • #9
                  @zimmbi
                  Wenn der Browser eine Seite lädt, dann führt er nicht nur einen Request aus, sondern immer einen pro Bildressource. Also fragt der Browser die in img src definierte URL ab und lädt somit das Bild. Einen direkten Aufruf von name.jpg kannst du nicht wirklich verhindern, denn das Bild ist jpg und kann daher keinen PHP Code enthalten, der feststellen könnte ob das Bild von deiner bild.php oder direkt ausgerufen wird.
                  Du kannst aber zumindest das direkte Aufrufen des Bildes mittels einer htaccess Datei unterbinden. In dem Verzeichnis wo deine Bilder liegen legst du eine .htaccess Datei an (geht natürlich nur wenn du einen Häuptling als Server betreibst). In dieser legst du fest, dass Zugriffe auf dieses Verzeichnis nur lokal erlaubt sind. D.h. nur Scripte in deinem Webspace können darauf zugreifen.

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    <img alt="test" src="bild.php?id=123" />
                    Soviel zum Thema "Dein Bild ist JPG". (Nicht dass man nicht auch JPG-Dateien parsen könnte...)

                    Kommentar


                    • #11
                      Ich habe den Topicstarter so verstanden, dass er bei Aufrufen des Bildes, die direkt und nicht via sein bild.php laufen, ein Wasserzeichen einbinden will. Also bei Aufrufen a la name.ext.
                      Ok man könnte ja wirklich die Bilddateien auch durch den Parser jagen. Aber macht das Sinn ?
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Stellt sich die frage, woher der User den echten Pfad zum Bild kennen sollte

                        Kommentar

                        Lädt...
                        X