Eigenes Downloadverzeichnis für Jeden Nutzer

  • Hallo Forum!


    Ich habe eine dringende Frage an euch. Ich habe eine Webseite Programmiert auf der sich Benutzer, welche in einer MySQL Datenbank gespeichert sind, anmelden kann. Nun soll es so sein das auf dem Webspace für jeden Benutzer ein eigenes Downloadverzeichnis liegt, wo Dateien drin liegen auf die nur DER Benutzer Zugriff hat. Und nach dem Login soll er direkt dort hin geleitet werden um die Dateien Herunterzuladen.


    Nun meine Frage. Ich habe Keine Ahnung wie ich das anstellen soll. Wie macht man das? Hat jemand von euch sowas Im Einsatz? Hat jemand einen Code dafür?


    Bitte um Hilfe.


    Danke im Voraus für eure Antworten!


    LG Nycrofox

  • Nycrofox Was der Benutzer angezeigt bekommt, also welche Links zu welchen Dateien bestimmt doch Deine Webanwendung. Du kannst zum Beispiel auch die Daten durch Deine Anwendung tunneln, dann bekommt der Benutzer den Speicherort überhaupt nicht mit.


    Oder Du speicherst die Dateien jeweils in einem Ordner dessen Namen zufällig ist. Eine UUID beispielsweise und speicherst die in der Datenbank. Dann kann man direkt die URLs anbieten, ohne das ein anderer Benutzer die URLs/Dateinamen von anderen Benutzern erraten kann. Vielleicht würde es auch reichen für jeden Benutzer *ein* Verzeichnis das nicht leicht erratbar ist anzulegen.


    Das kommt so ein bisschen darauf an gegen welches Szenario genau Du das absichern willst.

    “I will not sell my kidney on eBay

    I will not sell my kidney on eBay

    I will not sell my kidney on eBay …” — Bart Simpson

  • Dann kann man direkt die URLs anbieten, ohne das ein anderer Benutzer die URLs/Dateinamen von anderen Benutzern erraten kann.

    Das wäre aber wirklich sehr unsicher.

    Welche Sprache nutzt du zum Erstellen der Website? Du brauchst für sowas ein Berechtigungsmanagement. Die Benutzerverzeichnisse dürfen nicht zugänglich sein, liegen also am besten außerhalb des Webverzeichnisses. Dann lässt du die Inhalte des mit dem Nutzer verknüpfte Verzeichnises mit den Verzeichnisoperationen deiner Programmiersprache auslesen und stellst diese dann zum Download bereit. Auch dazu hat die Programmiersprache Funktionen.

  • Naja also die Webseite ist / wird in HTML und CSS Programmiert. Von anderen Programmiersprachen hab ich keine Ahnung. Ich hab mir auch überlegt ob es nicht einfacher wäre das jeder Nutzer nach dem Login praktisch seine persönliche Seite angezeigt bekommt. Darauf ist dann der Downloadlink... Wie macht man denn sowas?

  • Nycrofox Du hast also nur mit HTML und CSS eine Webseite programmiert wo sich Benutzer anmelden können deren Daten in einer MySQL-Datenbank hinterlegt sind? Das klingt sehr interessant. 😎


    Weder HTML noch CSS sind übrigens Programmiersprachen und Webseiten damit zu erstellen bezeichnet man nicht als programmieren.

    “I will not sell my kidney on eBay

    I will not sell my kidney on eBay

    I will not sell my kidney on eBay …” — Bart Simpson

  • Ja ich weiß Das HTML und CSS keine Programmiersprachen sind. Und nein ich habe das noch nicht gebaut, es soll ja erst so werden.. Und ich weiß leider nicht wie... ^^

  • Wenn die bestehende HTML/SQL Zugangskennung verwendet werden soll/muss, dann kannst Du die User-Downloads auch in der SQL Datenbank ablegen.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Man möchte keine Binärblobs in einer SQL-Datenbank speichern, sondern legt dort Verweise auf den Speicherort ab.

    Menschen die keine Ironie verstehen finde ich super!

  • Warum setzt du nicht einfach einen FTP-Server auf und verbandelst den mit deinen Benutzeraccounts, z.B. über LDAP?

    Da könntest du sogar WebDAV anbieten damit die User quasi vom lokalen Explorer aus ihren Zugriff haben. Über TLS hättest du eine sichere Verbindung und mit Quotaregeln kannst du regulieren wieviel Webspace für jeden verfügbar sind.

    Ist nur so'n Gedanke...

    Δx · Δph

    Der Mensch kann tun was immer er möchte, er kann jedoch nicht alles wollen was er möchte.

    Freiheit bedeutet etwas nicht tun zu müssen, nur weil man es kann.

  • __blackjack__ Mysql/Mariadb hat dafür auch einen Feldtypen (Binary Large Object ( BLOB )), aber das macht es erfahrungsgemäß nicht sinnvoller ihn auch zu nutzen. Es geht zu Lasten der Performance, wenn dort Daten unterschiedlichster Größe abgelegt werden.

    Kann man so machen, ist dann halt ka.... :)

    ymmv

    Menschen die keine Ironie verstehen finde ich super!

  • es soll ja erst so werden.. Und ich weiß leider nicht wie...

    Das wird ohne Programmieren nichts. Nextcloud ist eine gute Sache,kann aber ganz schön überzogen sein, wenn es nur bei der Funktion des Downloads sein soll. Es gibt aber schon fertige kleine Codeschnipsel, die sich nutzen lassen. Ich nutze gerne PHP, damit geht sowas, aber auch nicht auf die Schnelle und ohne Kenntnisse.