Ankündigung

Einklappen
Keine Ankündigung bisher.

Zugriff auf öffentliches PHP-Script nur vom eigenen Server erlauben

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

    #16
    Aus meiner Sicht bliebt nur ein Cronjob. Ich weiß allerdings nicht, ob dein Tarif dies beinhaltet.

    Kommentar


      #17
      Zitat von flipp Beitrag anzeigen
      Das funktioniert leider auch nicht. Das Script rufe ich einfach in einer HTML-Seite auf:

      HTML-Code:
      <img src="http://www.domain.com/image.php?id=123" alt="" />
      Du willst also erreichen, dass dieses Script (und damit deine Bilder) nur aufgerufen werden kann, wenn der Aufruf über deine Webseite kommt. Du könntest daher den "HTTP_REFERER" auszulesen und entsprechend das Script blockieren. Das sollte sowohl mit einer Ergänzung in der .htacces oder auch über eine Abfrage direkt in dem PHP-Script möglich sein.

      Neben "HTTP_REFERER" empfehle ich dir noch "Hotlinking" als Suchbegriffe um dich schlau zu machen. Sowas schüttel ich leider auch nicht aus dem Ärmel...

      Kommentar


        #18
        Setze eine Session und prüfe ob die Session gesetzt ist.
        Wenn nicht, gibt's kein (oder ein anderes) Bild.
        MfG,
        masterframe

        Kommentar


          #19
          Danke für eure Unterstützung. Auch wenn die vorgeschlagene HTTP_REFERER Lösung nicht 100% sicher ist und manipuliert werden kann, habe ich dies versucht zu verwenden, aber bin auch nicht weiter gekommen:

          https://stackoverflow.com/questions/...er-file-access
          Code:
          RewriteEngine On
          RewriteBase /
          RewriteCond %{HTTP_REFERER} !^https?://[^/]+\.domain\.com/? [NC]
          RewriteRule .* - [F]
          https://httpd.apache.org/docs/curren...d_rewrite.html
          Code:
          RewriteEngine On
          RewriteBase /
          # RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
          RewriteCond expr "! %{HTTP_REFERER} -strmatch '^https?://[^/]+\.domain\.com/?'"
          RewriteRule .* - [F]
          Diese Lösung gefällt mir, aber sie funktioniert nicht so ganz. Wenn ich image.php aufrufe, bekomme ich eine Fehlermeldung, aber ich bekomme auch die Fehlermeldung, wenn ich image.php in einer HTML-Seite auf domain.com aufrufe.
          Klicken Sie bitte auf die Grafik für eine vergrößerte Ansicht  Name: Screen Shot 2020-05-03 at 00.20.24.png Ansichten: 0 Größe: 74,7 KB ID: 5655

          Habt Ihr eine Idee woran dies liegen kann?
          ​​
          Zuletzt geändert von flipp; 03.05.2020, 00:22.

          Kommentar


            #20
            Ich habe den Fehler gefunden:

            Da image.php auf einer Subdomain ohne HTTPS läuft und auf der HTTPS Hauptseite via IMG Tag eigebettet ist, wird der HTTP_REFERER nicht übergeben.

            Der HTTP_REFERER wird nicht von HTTPS and HTTP übergeben.

            Kommentar


              #21
              Hallo flipp,

              soweit ich sehe ist hier alles geklärt oder brauchen Sie noch Unterstützung in dem Thema?

              Mit freundlichen Grüßen

              Nils Dornblut
              Blog - Facebook - Twitter
              Communitybetreiber: domainfactory GmbH
              Impressum / Pflichtangaben

              Kommentar


                #22
                Hallo Nils,

                danke der Nachfrage. Es ist alles gelöst. Ich benötige keine weitere Unterstützung.

                Viele Grüsse

                Philip

                Kommentar

                Lädt...
                X