externes Verlinken von Bildern verhindern

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

  • externes Verlinken von Bildern verhindern

    ... nicht dass ich im Betreff genanntes vorhabe, allerdings habe ich mir in einer langweiligen Minute mal ein paar Gedanken darüber gemacht ... und nun eben hier für alle im BS:

    Das mit dem Abfragen des Referers ist ja immer so 'ne Sache, dachte mir deshalb, wenn man das Bild über ein PHP-Script (Header, etc) ausgibt und dieses mit einem GET-Parameter anspricht ... dieser Parameter könnte z.B. ein Timestamp o.ä. sein, eben eine Zeichenfolge die kodiert wird und die Bild-PHP-Datei nur bei als valide geprüfter Zeichenfolge auch ein Bild ausgibt.
    D.h. das Bild kann über die gegebene URL (z.b. [...]/Bild.php?name=img001.jpg&key=124654513 ) nur eine gewisse Zeit lang abgerufen werden, eine Minute später lautet die URL dann schon anders.

    so wäre es zumindest nicht einfach möglich ein Bild extern zu verlinken - und der Aufwand hält sich auch in Grenzen.
    Zudem wäre es verlässlich (d.h. niemand kommt mit irgendwelchen Browser-, Router- oder sonstigen Konfigurationen drumrum); und solange niemand den Codec entschlüsslt auch sicher.


    Bitte: Ring frei für Wissenslücken, Denkfehlerhinweise, Anmerkungen, Verbesserungen, Alternativen, Code


    --

    wie gesagt, ich denke nicht daran dies umzusetzen hatte nur Lust auf mal so richtig Brainstorming (= Die Suche nach Problemen die die Welt nicht braucht )
    [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

    [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

    [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
    (from here)

  • #2
    für verlinkungen aus foren sicher recht nützlich.

    aber wenn ich will, kann ich auch den key aus deiner seite grabben und du bist kein stück weiter.

    Kommentar


    • #3
      Original geschrieben von TobiaZ
      aber wenn ich will, kann ich auch den key aus deiner seite grabben und du bist kein stück weiter.
      er wollte doch den aktuellen timestamp mit einfließen lassen (irgendwie verschlüsselt), um dann schauen zu können, ob die anforderung des bildes zeitnah geschieht.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        dieser Parameter könnte z.B. ein Timestamp o.ä. sein
        :P

        Kommentar


        • #5
          Re: externes Verlinken von Bildern verhindern

          Original geschrieben von Meillo
          .eine Zeichenfolge die kodiert wird und die Bild-PHP-Datei nur bei als valide geprüfter Zeichenfolge auch ein Bild ausgibt
          Ob das jetzt ein Timestamp ist oder irgendwas anderes, ist doch völlig schnuppe.

          Wenn du den als Parameter anhängigen Timestamp grabbst und anhand dieses Parameters nach 5 Minuten das Ungültigsein erkannt wird, bist du doch genauso weit, als würdest du sein als Parameter anhängiges Lieblingsgedicht auf althebräisch grabben, oder nicht?

          @Meillo
          Gehen würde es, mit dem Timestamp sollte es am einfachsten sein. Ich würde ihn geeignet verschlüsseln (geeignet = entschlüsselbar), der Schlüssel kann ja direkt in der bild.php stehen, das sieht ja keiner.
          Nach dem Entschlüsseln berechne ich die Differenz von übergebenem Timestamp und aktuellem Timestamp und wenn die nicht größer als x Minuten ist, zeige ich das Bild an.

          Zusätzlich kannst du ja noch mit Cookies arbeiten, damit einige Auserwählte sich sowas in ihre Favoriten setzen können.
          PHP-Code:
          if (!empty($_COOKIE['pic_access']))
            
          $timestamp time();
          else 
          $timestamp decode_timestamp($_GET['key']);

          if (
          time() - $timestamp 300)
            
          $file 'not_allowed.jpg';
          else 
          $file $_GET['file']; 
          Irgendwie so könnte man's machen.
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Ich würde als Schlüssel einfach die Session ID nehmen.
            daniel-portal.com/games Free Games and more

            Kommentar


            • #7
              vielen Dank für's Durchdenken ... ich sehe, es ließe sich umsetzen
              [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

              [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

              [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
              (from here)

              Kommentar

              Lädt...
              X