Datenbank Content vor Zugriff schützen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Datenbank Content vor Zugriff schützen

    Hallo zusammen,

    ich bin grade dabei eine Mediendatenbank zuplanen. Diese Datenbank soll für verschieden Webseiten Content zurückliefern. Dazu übergeben die Webseiten verschlüsselt Webseitenname & Passwort an die Datenbank. Das ganze soll mit PHP & Mysql umgesetzt werden.
    Nun geht es darum den Content den ich nicht in die Datenbank ablegen möchte. z.B. groß PDFs, kleine Filme, Bilder usw. den Zugriff darauf zu unterbinde, so das nur die Mediendatenbank den Content ausliefert, der in der Verzeichnissstruktur abgelegt ist. Dazu habe ich schon etwas gegoogelt und habe auch interessante Ansätze gefunden. Nun möchte ich aber gerne euere Meinungen oder Erfahrungen zu diesem Thema einholen.

    Folgendes habe ich schon mal gefunden.
    mail-archive.com/users-de@httpd.apache.org/msg03871.html
    traum-projekt.com/forum/19-tra…erzeichnis-schuetzen.html

    diese Lösung aus dem Wiki, schütz nur nach dem Prinzip ich weis nicht wie der Pfade und der Dateiname heißt oder?
    [coderwiki]http://www.coder-wiki.de/HowTos/PHP-Dateidownload[/coderwiki]

    Oder ist es vielleicht doch besser die Daten alle in die Datenbank abzulegen, als Blobs. Ich habe da so meine bedenken wie groß so eine Datenbank werden darf, wie dann die Performenc ist, wenn mehre Webseite gleichzeitig mehren Content aus der Datenbank ziehen wollen.

    Gruß
    Stephan
  • Du musst nur dafür sorgen, dass niemand an das veschlüsselte Passwort kommt. Wenn sich so eine Webseite "freischaltet", kannst du alle Zugriffe von diesem Referral erlauben.
    Oder du konzipierst das einfach so, dass Administratoren einer Webseite, die dein Angebot nutzen wollen, sich bei dir registrieren müssen und dann ihre eigene Domain(s) bei dir eintragen können. Dann kannst du alle Zugriffe von dieser Domain erlauben.
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • Hallo,

    ich hatte mit so was bisher auch kein grosses Problem:

    Wie BennyBunny schon geschrieben hat, die Dateien in einen Berech ablegen der vom Web aus nicht erreichbar ist, und den Zugriff darauf über ein PHP-Script regeln. Geht es nur um eine Server zu Server Kommuniaktion kannst Du den Zugriff evtl. auch nur über die IP-Adresse regeln.
    Wenn Die Dateien auch noch in irgend einer Form in einer Datenbank erfasst werden, dann kannst Du den Dateien noch "sinnlose" Namen, ohne Endung geben, dann kann man noch weniger damit anfangen.

    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan
  • Hey,

    das ist echt einfach, ich habe mir das schwieriger vorgestellt. Weil ein Kumpel von mir, seine ganzen Bilder von seinen Mitgliedern in die Datenbank schreibt mit Blobs. Damit regelt er die Zugriffe. Aber so ist es ja viel einfacher :D

    Auf die Datenbank greifen keine einzelnen User zu, sondern nur Webseiten die diese Inhalt als Content einbinden wollen. Aber vielleicht soll es mal möglich sein, Content an Benutzern auszuliefern. Die ganze Datenbank soll sehr Flexibel gestaltet werden. Ich werde mich überraschen lassen, was mir dazu noch alles einfällt. Werde bestimmt den ein oder anderen Punkt noch andiskutieren. Einen Punkt gibt es noch, wenn man das nicht mit IP-Adressen macht, wie man die Authentifizierung sicher macht, da bin ich mir noch nicht so sicher.

    Gruß
    Stephan
  • Hallo,

    im Grunde brauchst Du noch 3 Tabellen:

    Eine für die User (das können ja auch "Server" sein).
    Eine für die Datei-Daten, also z.B. Pfad/Name im Dateisystem, richtiger Name udn alles was Du sonst noch erfassen willst.
    Und dann brauchst Du eine Verknüpfungstabelle zwischen den Beiden für die Berechtigungen.

    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan
  • Wurde die Test Datei richtig runtergeladen und konnte angezeigt werden mit Adobe Reader? 1
    1.  
      Ja, ich konnte Sie runterladen und sie wurde auch aus dem Browser heraus angezeigt (0) 0%
    2.  
      Nein, es ist ein Fehler aufgetreten (1) 100%
    Hallo Leute,

    ich brauch mal eurere Hilfe. Ich habe das Download Skript aus dem [coderwiki]HowTos/PHP-Dateidownload[/coderwiki] jetzt auf einen Server von 1und1 installiert. Nun kommt es vor, das machen Browser die Datei nicht richtig mit Adobe Reader öffnen können. Nun kann ich den Fehler selber zuhause nicht nachbilden, werde es morgen in der Firma noch mal Testen. Wäre nett wenn Ihr das auch mal testen könntet.

    Vielen Dank
    Gruß
    Stephan



    beta.voebas.de/download.php?newsid=9 momentan für alle offen :)

    Hier ein Auszug vom Code :

    Quellcode

    1. // Zur Info
    2. array(7) { ["news_id"]=> string(1) "9"
    3. ["news_name"]=> string(17) "Newsletter 1 Test "
    4. ["news_path"]=> string(7) "upload/"
    5. ["news_file"]=> string(9) "ebook.pdf"
    6. ["news_file_type"]=> string(15) "application/pdf"
    7. ["news_file_size"]=> string(5) "23797"
    8. ["news_date"]=> string(19) "2007-08-26 22:34:03"
    9. }
    10. $download_file = $file_data['news_path'].$file_data['news_file'];
    11. if(!isset($download_file) || !is_file($download_file))
    12. $pfad_zur_datei = 'datei_nicht_gefunden.jpg';
    13. header("Content-type: ".$file_data['news_file_type']);
    14. header("Content-Disposition: attachment; filename=".$file_data['news_file']);
    15. echo fread(fopen($download_file, "r"), filesize($download_file));
    Alles anzeigen