PHP-Skript nicht über HTML-Bild laden

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

  • PHP-Skript nicht über HTML-Bild laden

    Hallo!

    auch wenn es nicht unbedingt sinnvoll ist, kann man jedes normale PHP-Skript über ein HTML-Bild folgendermaßen ausführen:

    Code:
    <img src="./myscript.php">
    Bei jedem Seitenaufruf mit diesem Code wird eine Request gesendet, den ich nicht von einem "normalen" Seitenbesuch auf "myscript.php" unterscheiden kann.

    Wie kann ich das verhindern bzw. wie kann ich erkennen, dass der Request über diesen Weg kommt? Danke für eure Hilfe!


    Gruß
    Alex

  • #2
    Kannst du mal ein wenig ins Detail gehen? Geht es da um eine Bilderverlinkung, die Kreti und Pleti vornehmen kann? Oder um einen Bilderupload?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Es geht um ein Ref-System. Stellt euch am besten mal ein Diebspiel vor. Jeder hat einen Link, den er rumschickt. Wenn nun jemand seinen "Klau-Link" über seine Homepage mit <scr='http://klauspiel.de/klaulink.php?id=2'> läd, lässt sich das nicht verhindern.

      ps: Da ich es mal bei einem großen BG erfolgreich probiert habe, vermute ich, dass es keine Möglichkeit gibt diese Requests rauszufiltern :/

      Gruß
      Alex

      Kommentar


      • #4
        Habe von diesen Diebspielen null Ahnung. Aber wie wird denn der Link verschickt? Der muss doch irgendwo eingetragen werden. Und du meintest doch sicher <img scr="http://klauspiel.de/klaulink.php?id=2">? Liefer mal mehr Details, dann kann ich dir ggf. helfen.

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Ich glaub richtig Ahnung braucht man dafür auch nicht zu haben

          Das Prinzip ist ja klar: Man registriert sich und erhält einen Link mit einer ID-Nummer. Klickt man auf den Link, erhält man auf der aufgerufenen Webseite den Hinweis, dass man soeben von Spieler X um Y Euro bestohlen (oder Ähnliches) wurde. Diesen Link soll man dann an möglichst viele Leute weiterschicken. Dann noch eine IP-Reload-Sperre, und das ist das wesentliche an so einem Spiel.

          Ich denke mal das größte Problem ist die "echten" Nutzer von Proxy-Servern & Bots zu unterscheiden. In meinem Fall geht es konkret darum die künstlichen Img-Requests von den "echten" Request zu unterscheiden.

          Mir ist gerade eine Idee gekommen. Und zwar könnte man das PHP-Skript auf der Ref-Seite/Überfall-Seite mit Ajax nachladen. Ich vermute mal stark, dass JS per IMG nicht ausgeführt wird, oder? Problem wäre nur, dass JS Vorraussetzung wäre... :/

          Bei Unklarheiten einfach fragen! Wenn man sich so viele Gedanken gemacht hat, weiß man oft gar nicht mehr, was man den anderen erklären muss

          Gruß
          Alex

          Kommentar


          • #6
            Zitat von alipkp Beitrag anzeigen
            Wie kann ich das verhindern bzw. wie kann ich erkennen, dass der Request über diesen Weg kommt? Danke für eure Hilfe!
            Wenn es mit IE aufgerufen wird, stehen die Chancen schlecht. Firefox und andere vernünftige Browser dagegen senden einen entsprechenden Accept-Header, an dem man erkennt, ob jetzt ein Bild oder eine HTML-Seite gewünscht wird.

            Als Praxisbeispiel:
            Code:
            12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
            Durch diese überlange Zeile wird in meiner Signatur ein Bild angezeigt, dass der Code umgebrochen werden soll. Firefox schickt also einen Request an meine Seite und teilt mit, dass ein Bild gewünscht wird. Also kommt auch ein Bild zurück. Wenn du aber mit Rechtsklick => Grafik anzeigen auf die Adresse gehst, sendet Firefox einen anderen Accept-Header, der dafür sorgt, dass dieselbe Ressource (URL) eine HTML-Seite ausliefert.

            Gruß,

            Amica
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Wow, sehr eindrucksvoll. Funktioniert sogar im IE 8. Allerdings nicht mit Opera 10.50 beta^^ Nja, aber das ist schonmal eine super Idee!

              Könntest du vllt die Fallunterscheidung Bild <-> Content mal posten? Wüsste jetzt nicht wie ich an den Accept-Header rankomme...

              //edit: OK, IE zeigt doch nur das Bild. Hat mich schon gewundert.

              Gruß
              Alex

              Kommentar


              • #8
                Zitat von alipkp Beitrag anzeigen
                Wüsste jetzt nicht wie ich an den Accept-Header rankomme...
                Na genauso, wie man auch an die anderen Request-Header rankommt: über das $_SERVER-Array.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  Ah, OK. Hier mal eine Übersicht, was die 3 Browser senden:

                  Firefox 3.6

                  Normaler Seitenaufruf: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

                  IMG: image/png,image/*;q=0.8,*/*;q=0.5


                  IE 8
                  Normaler Seitenaufruf: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, */*

                  IMG: */*

                  Opera 10.50 beta:
                  Normaler Seitenaufruf: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1

                  IMG: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1


                  Hmm, schade, dass nicht alles Browser so wie der FF arbeiten Das wäre die Lösung, wenn nicht jeder Browser sein eigenes Ding machen würde...

                  Gruß
                  Alex

                  Kommentar

                  Lädt...
                  X