Phil: Daten auf Webspace schützen ( kein htaccess )

Hallo Zusammen!

Habe ein kleines Problem! Ich würde gerne meine Daten auf meinem Webspace schützen! Leider ist kein HTACCESS verfügbar!

Was gibt es für sonstige möglichkeiten die Daten ( Bilder & Programme ) an und für sich in einem Verzeichniss zu schützen?

Eventuell mittels Referer? Jedoch geht dies auch für die Dateien an und für sich?

Mein Ziel ist einfach, dass die Daten unter www.meineurl.de/001.jpg nicht direkt aufgerufen werden können.

Danke und Gruss Phil

  1. Hallo,

    gehe ich recht in der Annahme, dass wenn du kein .htaccess nutzen kannst, du auch kein Zugriff auf die Apache Konfiguration hast?

    Gehe ich des weiteren Recht in der Annahme, dass du keinen Zugriff auf Verzeichnisse außerhalb des DocumentRoot hast?

    Dann gibt es keine zufriedenstellende Möglichtkeit. Was du publizierst, publizierst du.

    Gruß,
    Philipp

    1. Hallo Zusammen

      @ Karl:
      Ich möchte u.a. Bilder gegen aussen schützen! Ähnlich wie dies htaccess tut! Mir ist klar das PHP Datein nur den html Quelltext anzeigen! Mir geht es um den schutz von Multimedia und Anwendungsdateien!

      Wäre einfach super, wenn man den Zugriff auf die Bilder einschrenken könnte, sodass nur gewisse Kreise zugriff auf die Dateien haben! Wille ja meine Urlaubsfotos nicht gerade jedem zugänglich machen! :-)

      @ Philipp
      Nein, die annahme stimmt nicht ganz! Ich kenne htaccess eigentlich gut! Auch habe ich zugriff auf die conf Dateien meines Apache! NUR, das Problem ist, das ich ein Sarotech NHD 355 Netzwerk Festplattengehäuse verwende auf dem mein Server läuft! Leider wird da htaccess nicht unterstützt, danur eine abgespeckte Version eines Apache Server vorhanden ist. Habe auch zugriff auf die Root Verzeichnisse!

      Danke und Gruss Phil

      1. Hallo Zusammen

        @ Karl:
        Ich möchte u.a. Bilder gegen aussen schützen! Ähnlich wie dies htaccess tut! Mir ist klar das PHP Datein nur den html Quelltext anzeigen! Mir geht es um den schutz von Multimedia und Anwendungsdateien!

        Wäre einfach super, wenn man den Zugriff auf die Bilder einschrenken könnte, sodass nur gewisse Kreise zugriff auf die Dateien haben! Wille ja meine Urlaubsfotos nicht gerade jedem zugänglich machen! :-)

        Puh, das klingt komplizierter.

        Auf Anhieb fällt mir da nur eine sehr komplexe Lösung ein.

        "Gewisse Kreise" bedeutet ja wohl, dass Du ein Zugangssystem (geben Sie Ihren Namen und Ihr Passwort ein) welcher Art auch immer hast.
        Nun könntest Du die ganzen Bilder in einen Ordner packen, auf den Niemand Zugriff hat. Wenn nun ein registrierter User "urlaub.jpg" sehen will, dann erzeugst Du einen Link im htdocs-Ordner, der beispielsweise auf /home/geheim/urlaub.jpg zeigt, wo das Bild liegt.
        Der Name des Links ist einfach verschlüsselt (Nutzer-ID+Datenbank-ID+Session-ID). Nachdem sich der User abgemeldet hat, löschst Du den Link einfach wieder.

        Klingt extrem umständlich, das gebe ich zu :-)

      2. Hallo,

        na das ist doch wunderbar, schreib ein PHP Script mit Passwort Abfrage, und nur wenn das Passwort stimmt, streamst du die Datei. Die Datei selbst speicherst du außerhalb des DocumentRoot.

        Also ca wie fopen("/srv/www/philsseite/geheimebilder/");

        Wichtig ist halt wie gesagt nur, dass die Bilder außerhalb des DocumentRoot liegen. Dann sind sie nicht per URL erreichbar, sondern nur durch das PHP Script. Dieses selbst ist dann eben dafür zuständig, dass nur die richtigen Leute das Bild zu sehen kriegen. Aber hier hast du ja vollste Entfaltungsmöglichkeiten.

        Ich wünsch dir viel Spaß beim basteln!

        Gruß,
        Philipp

        1. Hallo Zusammen

          @All
          Danke für die schnelle Hilfe!

          @ Philipp
          Das hört sich wirklich gut an. Wieso ich nicht selbst darauf gekommen bin . Naja auf jeden Fall super idee!

          Kleine Frage noch, kenne mich noch nicht ganz 100% mit php aus. Wie schaffe ich es, die Bilder über ein PHP Script zu streamen? Welche Befehle werden dazu verwendet? Ich nehme an das ich fopen verwenden muss?

          Danke und Gruss

      3. hallo,

        Ich möchte u.a. Bilder gegen aussen schützen!

        Was bedeutet "schützen"? Wenn du damit meinst, daß sie keiner "klauen" können soll, besteht die einzig erfolgversprechende Methode darin, eben _keine_ Bilder hochzuladen.

        Ähnlich wie dies htaccess tut!

        Mit dem Konzept der dezentralen Apache-Konfiguration kannst du nichts "schützen", aber du kannst Zugriffsmöglichkeiten regulieren. Da dir diese Konfigurationsmöglichkeit fehlt, gehts halt nicht.

        Mir ist klar das PHP Datein nur den html Quelltext anzeigen!

        Ups? Damit stehst du aber ziemlich allein da. PHP-Scripts sollen in der Regel eben gerade _keinen_ Quelltext anzeigen. Wenn sie es doch tun, ist irgendwas an der Serverkonfiguration falsch.

        Wäre einfach super, wenn man den Zugriff auf die Bilder einschrenken könnte, sodass nur gewisse Kreise zugriff auf die Dateien haben! Wille ja meine Urlaubsfotos nicht gerade jedem zugänglich machen! :-)

        Das geht mit .htaccess oder dem Mechanismus, den dir dein Provider dafür zur Verfügung stellt. Wenn das dein Provider nicht tut, mußt du dir einen anderen suchen, der dir eine solche Möglichkeit zur Verfügung stellt.

        Auch habe ich zugriff auf die conf Dateien meines Apache!

        Wenn du solchen Zugriff hast, hast du auch die Möglichkeit, dir .htaccess einzurichten. Wo liegt dann dein Problem?

        das Problem ist, das ich ein Sarotech NHD 355 Netzwerk Festplattengehäuse verwende auf dem mein Server läuft!

        Naja, richtig ist, daß es in der Apache-Doku noch keinen Hinweis auf die Verwendung von Schraubenziehern für die Apache-Konfiguration gibt.

        danur eine abgespeckte Version eines Apache Server vorhanden ist

        Was ist bitteschön eine "abgespeckte Version"?

        Grüße aus Berlin

        Christoph S.

        PS: deine Tastatur hat einen Defekt. Si gibt immer wieder Ausrufezeichen aus, wenn du doch einen Punkt tippen möchtest.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. Hallo Christoph,

          Ich möchte u.a. Bilder gegen aussen schützen!

          Was bedeutet "schützen"? Wenn du damit meinst, daß sie keiner "klauen" können soll, besteht die einzig erfolgversprechende Methode darin, eben _keine_ Bilder hochzuladen.

          sorry - aber der Hinweis auf .htaccess ist sicherlich ganz einfach zu verstehen, wenn man es will. Zugriff soll nur nach Berechtigungsnachweis (irgendeiner Art) möglich sein. Das geht, das geht auch dann, wenn man Bilder hochlädt.

          Ähnlich wie dies htaccess tut!

          Mit dem Konzept der dezentralen Apache-Konfiguration kannst du nichts "schützen", aber du kannst Zugriffsmöglichkeiten regulieren. Da dir diese Konfigurationsmöglichkeit fehlt, gehts halt nicht.

          Haarespalter! Die "Regulierung der Zugriffsmöglichkeiten" ist doch ein Schutz vor nicht berechtigtem Zugriff - oder etwa nicht?

          Mir ist klar das PHP Datein nur den html Quelltext anzeigen!

          Ups? Damit stehst du aber ziemlich allein da. PHP-Scripts sollen in der Regel eben gerade _keinen_ Quelltext anzeigen.

          Nö, da liegst Du komplett daneben. Sehr oft sollen PHP-Scripte HTML-Code (auch HTML-Quelltext genannt) generieren. Ich glaube, Du hast selbst schon viele PHP-Scripte geschrieben, die ausschließlich HTML zurückliefern. In Form von HTML-Quellcode. Gelegentlich, aber durchaus deutlich seltener erzeugen PHP-Scripte auch andere Ressourcen, zum Beispiel Bilder.

          Wenn sie es doch tun, ist irgendwas an der Serverkonfiguration falsch.

          Das lasse ich lieber einmal unkommentiert. Es ist nirgendwo die Rede davon, dass PHP-Quellcode zurückgegeben wird. Also ist das, was Du hier schreibst, an den Haaren herbeigezogen. Hättest Du dies nicht einfach weglassen können?

          Wäre einfach super, wenn man den Zugriff auf die Bilder einschrenken könnte, sodass nur gewisse Kreise zugriff auf die Dateien haben! Wille ja meine Urlaubsfotos nicht gerade jedem zugänglich machen! :-)

          Das geht mit .htaccess oder dem Mechanismus, den dir dein Provider dafür zur Verfügung stellt. Wenn das dein Provider nicht tut, mußt du dir einen anderen suchen, der dir eine solche Möglichkeit zur Verfügung stellt.

          Unfug! Es gibt Möglichkeiten - und Du solltest darüber Bescheid wissen. Philipp hat die entscheidenden Fragen gestellt, diese wurden in der Form beantwortet, dass es vermutlich geht.

          Auch habe ich zugriff auf die conf Dateien meines Apache!

          Wenn du solchen Zugriff hast, hast du auch die Möglichkeit, dir .htaccess einzurichten. Wo liegt dann dein Problem?

          Hier triffst Du den Punkt. Wo ist das Problem? Sollten eventuell die notwendigen Module nicht vorhanden sein?

          das Problem ist, das ich ein Sarotech NHD 355 Netzwerk Festplattengehäuse verwende auf dem mein Server läuft!

          Naja, richtig ist, daß es in der Apache-Doku noch keinen Hinweis auf die Verwendung von Schraubenziehern für die Apache-Konfiguration gibt.

          Diese Anmerkung finde ich witzig, schade dass Du oben so daneben liegst.

          danur eine abgespeckte Version eines Apache Server vorhanden ist
          Was ist bitteschön eine "abgespeckte Version"?

          Das würde ich auch gerne wissen.

          Freundliche Grüße

          Vinzenz

    2. Hi,

      Gehe ich des weiteren Recht in der Annahme, dass du keinen Zugriff auf Verzeichnisse außerhalb des DocumentRoot hast?

      Dann gibt es keine zufriedenstellende Möglichtkeit. Was du publizierst, publizierst du.

      Nnja, eine Methode gäbe es dennoch: Die Dateien unter einem komplexen verschlüsseltem Namen zu speichern (der genauso schwer zu knacken ist wie eine Passwortabfrage) und im PHP-Script die hierzu passende Entschlüsselungsroutine setzen. Das Script streamt die Daten dann erst nach einer Passwortabfrage.

      freundliche Grüße
      Ingo

  2. Hallo Zusammen!

    Habe ein kleines Problem! Ich würde gerne meine Daten auf meinem Webspace schützen! Leider ist kein HTACCESS verfügbar!

    Schützen? Wogegen genau?

    Was gibt es für sonstige möglichkeiten die Daten ( Bilder & Programme ) an und für sich in einem Verzeichniss zu schützen?

    Programme?
    JavaScript-"Programme": lassen sich nicht schützen
    PHP-"Programme": der Quelltext bleibt für den Surfer unsichtbar, nur das Ergebnis wird angezeigt.

    Eventuell mittels Referer? Jedoch geht dies auch für die Dateien an und für sich?

    Mein Ziel ist einfach, dass die Daten unter www.meineurl.de/001.jpg nicht direkt aufgerufen werden können.

    Wieso sollen die nicht aufrufbar sein? Lösch' sie doch einfach vom Server :-)

    Solange ein Browser die Bilder anzeigen kann, kann sie jeder haben. Im Zweifelsfall brauche ich nur ein 10-Zeilen-Delphi-Programm schreiben, das obige Anfrage an den Server stellt und einen beliebigen referer-string enthält.

    Meiner Meinung nach kannst Du Bilder nicht (effektiv) gegen einen Zugriff schützen.

  3. Ich grüsse den Cosmos,

    Mein Ziel ist einfach, dass die Daten unter www.meineurl.de/001.jpg nicht direkt aufgerufen werden können.

    Ohne .htaccess kenn ich nur eine Möglichkeit, und die ist Pfui: Binärdateien in einer Datenbank ablegen und nur per Script ausgeben.

    Möge das "Self" mit euch sein

    --
    Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
  4. Hallo Phil

    Habe ein kleines Problem! Ich würde gerne meine Daten auf meinem Webspace schützen! Leider ist kein HTACCESS verfügbar!
    Was gibt es für sonstige möglichkeiten die Daten ( Bilder & Programme ) an und für sich in einem Verzeichniss zu schützen?
    Mein Ziel ist einfach, dass die Daten unter www.meineurl.de/001.jpg nicht direkt aufgerufen werden können.

    Philipp hat die entscheidenden Fragen gestellt und die meiner Meinung völlig richtige und beste Antwort von allen gegeben, wobei ich Deine Antwort

    Habe auch zugriff auf die Root Verzeichnisse!

    so verstehe: Du hast auch Zugriff außerhalb der DocumentRoot

    Ohne .htaccess kenn ich nur eine Möglichkeit, und die ist Pfui: Binärdateien in einer Datenbank ablegen und nur per Script ausgeben.

    Karls Idee, Manuel und Ingo zeigen Dir, wie Du Philipps Vorschlag umsetzen kannst.

    Wie Dein Monster-Doppelpostingthread etwas weiter oben zeigt, fehlen Dir ein paar Grundlagenkenntnisse, der Wolke offensichtlich auch. Warum Christoph Dir nicht den entscheidenden Hinweis geben konnte, ist mir ehrlich gesagt schleierhaft. Wo liegt der Knackpunkt?

    Wenn ein PHP-Script eine Bildressource ausliefert, so wie Du das vorhast, dann ist es sehr sinnvoll, dem Browser auch zu sagen, dass die Ressource, die er erhalten wird, ein Bild ist. Sprich, schick die angemessenen Header. Dazu verwendest Du die Funktion header(), ganz genauso wie bei dynamischer Erzeugung von Bildern mit Hilfe der GD-Bibliothek. Selbstverständlich gilt das im von mir angesprochenen Thread Gesagte: vor header() darf nichts ausgegeben werden - und Du musst den Dateiinhalt 1:1 weiterreichen.

    Noch ein paar Worte zum Schutz - oder der "Regulierung der Zugriffsmöglichkeiten", wie Christoph es genannt hat:

    Christoph irrt. Selbstverständlich kannst Du bei den vorhandenen Voraussetzungen die Zugriffsmöglichkeiten regulieren. Halt nicht so einfach. Aber es geht.

    1. Möglichkeit: PHP läuft als Modul.
    Dann kannst Du möglicherweise die HTTP-Authentifizierung mit PHP nutzen.

    2. Wenn Du diese nicht nutzen kannst - aus welchen Gründen auch immer.
    Erstelle einen Loginmechanismus (ob dateibasiert oder datenbankgestützt, das sei Dir überlassen). Nutze Sessions, um die Authentifizierungsdaten zwischen Zugriffen zu erhalten. Prüfe in _jeder_ durch das Login geschützten Ressource, ob die Zugriffsberechtigung vorliegt - auch in den Bilddaten.

    Freundliche Grüße

    Vinzenz