Bestimmte Datein für bestimmte Kunden

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

  • Bestimmte Datein für bestimmte Kunden

    Hallo allerseits

    Idee/Problem:
    Es soll eine mögllichkeit geboten werden bestimmten Kunden nur für Ihm
    zugeordnete Dateien übers Web zugänglich gemacht zu werden. Für jeden
    Kunden soll eine eigener Order erstellt werden wo Dateien hochgeladen werden.
    Das wars auch schon. Das Porblem ist wie Sichere ich die Daten am besten ab.
    Es soll verhindert werden die Dateien einfach über einen absoluten Pfad in der
    Adlresseiste angezeigt bzw. runtergeldaen wird. Deweiteren soll es auch nicht
    möglich sein das ein schon eingelogter Kunde einblick auf einen Ihm nicht
    zugeordneten Ordner einblick hat.

    Den Ordner ausserhalb des DocumentRoot abzulegen finde ich keine gute Idee,
    da meistens nur Bilder hochgeladen werden und somit eine Vorschau der Bilder
    ,durch auslesen der Datei, zu viel Preformence kosten würde. Das einzige was mir
    jetzt eingefallen ist, sind die Datei in der Datenbank zu speichern, was mir
    ebefalls überhaupt nicht schmeckt, oder mittels HTTP-Authentifikation die
    bestimmte Ordner für die jeweiligen Kunden zu sichern. Ich kann aber nicht vom
    Kunden erwarten das er sich die ganze URI zu seinem Ordner merken soll. z.B.
    http://dir.net/data/costumer/001/

    Was sagt Ihr dazu? Wie könnte man sowas realisieren?
    Zuletzt geändert von schlimmerfinger; 10.08.2005, 16:42.
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
    PHP Sicherheit
    PHPUnit[1-2]
    Professionelle Softwareentwicklung mit PHP 5
    Professionelle PHP 5-Programmierung

  • #2
    letztes ist das einzig sinnvolle. wenn du auf die erste möglichkeit definitiv verzichten willst.

    lass den kunden unter

    /kunden/

    seine kundennummer eingeben.

    danach wird er in seinen pfad

    /kunden/sub/dir/mecker/5478278/

    geleitet.

    hier müsste er dann nochmall username/kdnr sowie passwort in das fenster eingeben.

    vom usermanagement wäre natürlich die erste möglichkeit immer noch die schönste.

    Kommentar


    • #3
      und somit eine Vorschau der Bilder
      ,durch auslesen der Datei, zu viel Preformence kosten würde.
      Ist IMHO nicht sooo tragisch, die Datei wird ja nur von PHP durchgeschleift, soweit ich bis jetzt sehen konnte machen das viele so, gehöre selber dazu.

      @all
      Interessehalber:
      Wie sieht das eigentlich mit readfile() aus? Lagert hier die ganze Datei im PHP-RAM?
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        Original geschrieben von TobiaZ
        lass den kunden unter

        /kunden/

        seine kundennummer eingeben.

        danach wird er in seinen pfad

        /kunden/sub/dir/mecker/5478278/

        geleitet.

        hier müsste er dann nochmall username/kdnr sowie passwort in das fenster eingeben.

        vom usermanagement wäre natürlich die erste möglichkeit immer noch die schönste
        Hmm ich glaube das werde ich auch machen. Nur das ich dann
        schonmal den Request Header schicke. Bekomme ich ein 401 status ist das login
        fehlgeschlagen bei status 200 leite ich den Kunden/Client zu den Ordner weiter. Ich glaube
        dann sollte es auch mit den Usermanagment stimmen.

        Hat jemand eine Ahnung wie die Daten bei einem Request ausehen müssten. Ich habe mal
        einen Request gestartet und diesen Response bekommen
        Code:
        HTTP/1.x 401 Authorization Required
        Date: Thu, 11 Aug 2005 12:18:08 GMT
        Server: Apache/2.0.52 (Debian GNU/Linux) PHP/5.0.3 DAV/2
        X-Powered-By: PHP/5.0.3
        WWW-Authenticate: Basic realm="phpMyAdmin auf localhost"
        status: 401 Unauthorized
        Content-Length: 2485
        Keep-Alive: timeout=5, max=99
        Connection: Keep-Alive
        Content-Type: text/html; charset=iso-8859-1
        Wenn ich nun über den Browser die benutzername/passwort eingebe und
        verschicke, sieht der Request wie folgt aus
        Code:
        GET ********* HTTP/1.1
        Host: ************.net
        User-Agent: blah blah
        Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
        Accept-Language: de,en-us;q=0.7,en;q=0.3
        Accept-Encoding: gzip,deflate
        Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
        Keep-Alive: 300
        Connection: keep-alive
        [b]Authorization: Basic ZGJ1MTAwMjI1ODo0OG0xbjE=[/b]
        Wie man sehen kann, ist der Wert der letzten Zeile >>verschlüsselt<< oder änlich.
        Wie könnte ich es Simmulieren, oder was für eine Methode wurde hier eingesetzt?
        Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
        PHP Sicherheit
        PHPUnit[1-2]
        Professionelle Softwareentwicklung mit PHP 5
        Professionelle PHP 5-Programmierung

        Kommentar

        Lädt...
        X