amiraldo1: Bilder automatisch auf dem Server löschen.

hi,
ich habe Thumbnails ( Bilder) mit Php erstellt.
Die Bilder stellen die Ergebnisse von den Spielern eines Spieles dar. und meistens werden die Bilder in anderen Webbseiten bzw. Foren gebunden.
Da viele spielen, werden Tausende von Bildern erstellt. Nun möchte ich irgendwas machen. wobei die Bilder ,die nach einem Tag nicht eine Backlink von anderen Seiten haben, automatisch gelöscht werden.

  1. Hallo,

    Da viele spielen, werden Tausende von Bildern erstellt. Nun möchte ich irgendwas machen. wobei die Bilder ,die nach einem Tag nicht eine Backlink von anderen Seiten haben, automatisch gelöscht werden.

    wie willst Du feststellen, ob ein Bild einen Backlink hat oder nicht?

    Viele Grüße,
    Stefan

    1. wie willst Du feststellen, ob ein Bild einen Backlink hat oder nicht?

      Das ist die Frage ;)
      vielleicht mit einem Hitscounter im Bild, wenn ein Bild mehr als 4 mal gezeigt wurde. dann wird nicht gelöscht.
      Aber bissi Kompliziert.
      Es sollte Lösung geben.
      Gruß

      1. Hallo,

        wie willst Du feststellen, ob ein Bild einen Backlink hat oder nicht?

        Das ist die Frage ;)
        vielleicht mit einem Hitscounter im Bild, wenn ein Bild mehr als 4 mal gezeigt wurde. dann wird nicht gelöscht.

        ob ein Bild aufgerufen wurde, kann man feststellen und protokollieren (DB).
        Ob jemand darauf einen Link gesetzt hat, ist nicht feststellbar, erst dann,
        wenn dieser Link auch angeklickt wurde (und der Referrer übergeben wurde).

        Viele Grüße,
        Stefan

        PS: Wenn die Bilder nicht nochmal durch ein Script laufen, sondern gleich
            direkt ausgeliefert werden, dann dürfte die Datenbank-Variante auch
            unmöglich sein. Und mittels der Logfiles ist m.E. etwas zu kompliziert.

        1. Hello,

          Ob jemand darauf einen Link gesetzt hat, ist nicht feststellbar, erst dann,
          wenn dieser Link auch angeklickt wurde (und der Referrer übergeben wurde).

          Wenn man denjenigen kennt, also dessen URL, kann man ja gucken oder per Script gucken lassen.
          Wenn der Link dann vorhanden ist in der Seite, ist es gut,
          wenn man keinen findet, könnte er noch irgendwo versteckt sein.
          Das ist dann eine Frage der Vereinbarung: "Backlink auf der Startseite"...

          Liebe Grüße

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          1. Wenn man denjenigen kennt, also dessen URL, kann man ja gucken oder

            »»Script gucken lassen.

            ja kann ich gucken, aber sind viele Urls, da jede Benutzer eine Bild stellt. dann ist schwer alles kontrolieren zu können.

            »»Script gucken lassen.
            wie?

            1. Hello,

              Wenn man denjenigen kennt, also dessen URL, kann man ja gucken oder
              »»Script gucken lassen.

              ja kann ich gucken, aber sind viele Urls, da jede Benutzer eine Bild stellt. dann ist schwer alles kontrolieren zu können.

              »»Script gucken lassen.
              wie?

              Erstmal den Backlink definieren, wie er auszushen hat.
              Wissen, auf welcher URL der Backlink erscheinen muss.
              Die URL aufrufen, Seite auslesen (geht z.B. ganz einfach mit
              http://de.php.net/manual/en/function.file-get-contents.php,
              wenn die fopen-Wrapper nicht ausgeschaltet wurden auf dem Server
              und der Seitenaufruf nicht mit einer Umleitung antwortet.

              Sonst muss man es eben mit einem Request über fsockopen() probieren.
              http://de.php.net/manual/en/function.fsockopen.php
              Das ist aber schon etwas komplizierter.

              Den erhaltenen Request-Body (also den Seiteninhalt) dann mit Stringfunktionen
              oder mit regulären Ausdrücken nach dem Link durchsuchen.
              Wie genau das geht oder ob Du Varianzen berücksichtigen musst, kannst nur Du wissen.
              Kommt eben drauf an, wie Du as mit Deinen Partnern verabredet hast.

              Liebe Grüße

              Tom vom Berg

              --
              Nur selber lernen macht schlau
              1. Erstmal den Backlink definieren, wie er auszushen hat.
                Wissen, auf welcher URL der Backlink erscheinen muss.

                [URL=http://meinedomain.org][IMG]http://www.meinedomain.org/pic/1534.png[/IMG][/URL]
                solche Url werden nach der Spiel erstellt, und werden meistens in Vbulletin Forum gestellt.
                /1534.png = die zahl hängt sich von der Ergebnisse des Users ab .

                Die URL aufrufen, Seite auslesen (geht z.B. ganz einfach mit
                http://de.php.net/manual/en/function.file-get-contents.php,
                wenn die fopen-Wrapper nicht ausgeschaltet wurden auf dem Server
                und der Seitenaufruf nicht mit einer Umleitung antwortet.

                ok wenn ich die Seite auslese, wie kann ich dann durch das Skript den Befehl geben , das Bild auf dem Server zu löschen.

      2. Hallo シ

        wie willst Du feststellen, ob ein Bild einen Backlink hat oder nicht?

        Das ist die Frage ;)
        vielleicht mit einem Hitscounter im Bild, wenn ein Bild mehr als 4 mal gezeigt wurde. dann wird nicht gelöscht.
        Aber bissi Kompliziert.
        Es sollte Lösung geben.

        Ich *glaube* es gibt eine.
        Es gibt doch eine Möglichkeit, Bilder, die extern aufgerufen werden, durch andere zu ersetzen. Das machen doch auch manche Imagehoster so.
        Durch irgend einen Befehl in der .htaccess, aber tut mir Leid, mehr weiß ich nicht mehr. Vielleicht findest du durch "bilderschutz htaccess" in einer Suchmaschine deiner Wahl ja eine Antwort.
        Das ganze könnte man ja nun Umbauen, dass das Bild zwar schon angezeigt wird, aber über den Umweg PHP-Script. In diesem Script wird nun protokolliert, welches Bild aufgerufen wird etc. und am Ende per readfile() das Bild ausgegeben.

        —Gabriel

        1. Hallo シ

          wie willst Du feststellen, ob ein Bild einen Backlink hat oder nicht?

          Das ist die Frage ;)
          vielleicht mit einem Hitscounter im Bild, wenn ein Bild mehr als 4 mal gezeigt wurde. dann wird nicht gelöscht.
          Aber bissi Kompliziert.
          Es sollte Lösung geben.
          Ich *glaube* es gibt eine.
          Es gibt doch eine Möglichkeit, Bilder, die extern aufgerufen werden, durch andere zu ersetzen. Das machen doch auch manche Imagehoster so.
          Durch irgend einen Befehl in der .htaccess, aber tut mir Leid, mehr weiß ich nicht mehr. Vielleicht findest du durch "bilderschutz htaccess" in einer Suchmaschine deiner Wahl ja eine Antwort.
          Das ganze könnte man ja nun Umbauen, dass das Bild zwar schon angezeigt wird, aber über den Umweg PHP-Script. In diesem Script wird nun protokolliert, welches Bild aufgerufen wird etc. und am Ende per readfile() das Bild ausgegeben.

          —Gabriel

          Danke, du hast mir Hoffnung gemacht ;)
          Mit .htaccess ist dies leicht realisierbar, es werden einfach alle Anfragen nach Bildern (gif|jpg|GIF|JPG)
          die nicht von dem eigenen Server kommen geblocked und stattdessen eine Ersatzgrafik mit einem Hinweis angezeigt.

          das ist bisschen Weit, aber man kann es auch für paar sache anwenden

          1. Hallo シ

            Danke, du hast mir Hoffnung gemacht ;)

            Na das ist ja schön :)

            Mit .htaccess ist dies leicht realisierbar, es werden einfach alle Anfragen nach Bildern (gif|jpg|GIF|JPG)
            die nicht von dem eigenen Server kommen geblocked und stattdessen eine Ersatzgrafik mit einem Hinweis angezeigt.

            Ja genau. Und das müsste sich ja auch umbiegen lassen.
            BTW: Keiner hier mag Tofu.

            das ist bisschen Weit, aber man kann es auch für paar sache anwenden

            Ja. Kannst bei Fragen dann ja wieder posten.

            —Gabriel

          2. Hello,

            Danke, du hast mir Hoffnung gemacht ;)
            Mit .htaccess ist dies leicht realisierbar, es werden einfach alle Anfragen nach Bildern (gif|jpg|GIF|JPG)
            die nicht von dem eigenen Server kommen geblocked und stattdessen eine Ersatzgrafik mit einem Hinweis angezeigt.

            Anfragen kommen i.d.R. aber nicht vom eigenen Server, sondern sie kommen vom Client, der zuvor eine Response erhalten hat von Deinem Server, die weitere Requests enthält, nämlich in den Image-Elementen. Diese Requests werden dann aber auch vom Client ausgeführt und nicht vom Server.

            Man könnte aber alle Bilder durch ein Script ausliefern lassen.
            Dazu liefert man nicht die Original-URL aus, sondern einen Schlüssel. Diesen merkt man sich zusammen mit einem Timestamp und dem Pfad zum Bild in einer DB. Wenn nun der Request für ein Bild kommt, kann man schauen, ob der Key noch frisch ist, wie oft das Bild schon aufgerufen wurde usw.

            Das erfordert natürlich einiges an aktivem Backend. Und die Datenbank bereinigen muss man auch mal wieder.

            Man könnte auch den Namen des Bildes mit einem Timestamp kombinieren, dieses verschlüsseln und dann ausliefern. Das Anzeigescript für die Bilder weiß dann, wie es den Code wieder zu entschlüsseln hat und kann entscheiden, ob das Bild oder ein Ersatz ausgeliefert werden soll.

            Wenn man die Zeit nun geschickt wählt, dann kann sich jemand die URL des Bildes in seine Seite einsetzen und bekommt das Original auch noch ein paar Minuten (oder eine Stunde) angezeigt. Nach Ablauf der angezeigten Zeit bekommt er nur noch "dieses Bild wurde gestohlen bei..., Für sachdienliche Hinweise zahle ich 50 Euro Prämie".

            Das nützt natürlich nichts, wenn jemand das Bild selber auf seinen Webspace (oder sonstwo) kopiert...

            Liebe Grüße

            Tom vom Berg

            --
            Nur selber lernen macht schlau