Andreas Korthaus: Excel-Datei nur bestimmtem REMOTE_USER zugänglich

Hallo!

ich weiß nicht ob hier HTTP das richtige Thema ist. Ich möchte Excel-Dateien auf dem Server speichern, aber nur jedem user seine eigenen Dateien zugänglich machen. Wie mache ich das am besten? Geht das überhaupt über ein Limit/Require in der .htaccess?
Oder ich speichere die Dateien außerhalb des doc-roots und prüfe in einem Script ob der User entsprechende Rechte hat. Dann müßte ich allerdings die Datei öffnen und dann direkt ausgeben. Was hätte das für Konsequenzen? Bisher habe ich das so, das Leute die sowohl IE als auch Excel installiert haben einen direkten Link zu einer xls-Datei bekommen, und die öffnet sich dann im Browser, was ganz praktisch sein kann. Wenn ich das jetzt aber wie oben beschrieben mit einem Script mache, funktioniert das dann immer noch oder nur noch als download?

Wie würdet Ihr sowas machen?

Grüße
Andreas

  1. Hi

    ich weiß nicht ob hier HTTP das richtige Thema ist. Ich möchte Excel-Dateien auf dem Server speichern, aber nur jedem user seine eigenen Dateien zugänglich machen. Wie mache ich das am besten? Geht das überhaupt über ein Limit/Require in der .htaccess?

    Theoretisch ginge das - Frage ist, ob es sinnvoll ist für jeden User eine solche Datei nicht nur anzulegen, sondern darüberhinaus auch noch zu pflegen.

    Oder ich speichere die Dateien außerhalb des doc-roots und prüfe in einem Script ob der User entsprechende Rechte hat. Dann müßte ich allerdings die Datei öffnen und dann direkt ausgeben. Was hätte das für Konsequenzen? Bisher habe ich das so, das Leute die sowohl IE als auch Excel installiert haben einen direkten Link zu einer xls-Datei bekommen, und die öffnet sich dann im Browser, was ganz praktisch sein kann. Wenn ich das jetzt aber wie oben beschrieben mit einem Script mache, funktioniert das dann immer noch oder nur noch als download?

    Wie würdet Ihr sowas machen?

    Hast du PHP zur Verfügung? Wenn ja, dann habe ich einen Ansatz:
    1. Eine Userdatenbank (kann auch ein textfile sein, ist egal) führen, in der steht wer auf welche Files wie viel Zugriff hat.
    2. Ein PHP-Script, das auf Anfrage z.b. http://server.de/meinexcelscript.php?file=345.xls
    die Rechte prüft und daraufhin einen HTTP-401-Header sendet. Wenn dann $PHP_AUTH_* korrekt sind wird mit dem neuerlichen header der Content-type verkündet (Müsste "application/ms-excel" oder so in der Art sein) und die Datei Ausgelesen und ausgegeben.

    Fabian

  2. use Mosche;

    ich weiß nicht ob hier HTTP das richtige Thema ist. Ich möchte Excel-Dateien auf dem Server speichern, aber nur jedem user seine eigenen Dateien zugänglich machen. Wie mache ich das am besten? Geht das überhaupt über ein Limit/Require in der .htaccess?

    Ja, es geht. als Require gibst du an:

    require user exceluser

    wenn es nur ein User sein soll, ansonsten definierst du in .htgroup eine entsprechende Gruppe und gibst an:

    require group excelgruppe

    Die .htaccess Datei mit diesem Inhalt in ein entsprechendes Verzeichnis, in dem dann nur die Excel-Datei liegt.

    use Tschoe qw(Matti);

    --
      Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
    1. Hallo!

      Die .htaccess Datei mit diesem Inhalt in ein entsprechendes Verzeichnis, in dem dann nur die Excel-Datei liegt.

      Aber dann brauche ich für jeden User ein eigenes Verzeichnis oder?
      Hm...

      Grüße
      Andreas

      1. use Mosche;

        Die .htaccess Datei mit diesem Inhalt in ein entsprechendes Verzeichnis, in dem dann nur die Excel-Datei liegt.
        Aber dann brauche ich für jeden User ein eigenes Verzeichnis oder?

        Ja.

        use Tschoe qw(Matti);

        --
          Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
        1. Hallo Matti,

          Ja.

          Warum? Eine <Files>-Sektion müsste es doch auch tun?

          Grüße,

          Christian

          --
          Ich wünsche allen frohe Weihnachten!
          Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
          1. use Mosche;

            Warum? Eine <Files>-Sektion müsste es doch auch tun?

            Auf die Idee bin ich nicht gekommen. Aber mal angenommen, Andreas will jedem User jweils verschiedene Dateien zur Verfügung stellen. Das wird mit <Files> doch arg unübersichtlich, wenn der Dateiname nicht einheilich aufgebaut ist ($username_[0-9].xls zB). Ich persönlich finde Verzeichnisse einfacher zu handhaben.

            Um nur ein Beispiel zu nennen:
            CK verwendet für die Speicherung der Userdaten hier im Forum ja auch für jeden Benutzer ein eigenes Verzeichnis, oder?

            use Tschoe qw(Matti);

            --
              Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
            1. Hallo Matti,

              Aber mal angenommen, Andreas will jedem User jweils verschiedene Dateien zur Verfügung stellen. Das wird mit <Files> doch arg unübersichtlich, wenn der Dateiname nicht einheilich aufgebaut ist ($username_[0-9].xls zB). Ich persönlich finde Verzeichnisse einfacher zu handhaben.

              Naja, ich habe nicht gesagt, dass es _besser_ ist, ich habe nur gesagt, dass noch eine andere Möglichkeit existiert. Andreas muss in diesem Fall entscheiden, was für ihn besser ist.

              CK verwendet für die Speicherung der Userdaten hier im Forum ja auch für jeden Benutzer ein eigenes Verzeichnis, oder?

              Klar, aber nur weil pro Benutzer mehrere Dateien abgelegt werden müssen. (Config-Datei, "gelöschte" Threads, gelesene Nachrichten)

              Grüße,

              Christian

              --
              Ich wünsche allen frohe Weihnachten!
              Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
  3. ich weiß nicht ob hier HTTP das richtige Thema ist. Ich möchte Excel-Dateien auf dem Server speichern, aber nur jedem user seine eigenen Dateien zugänglich machen. Wie mache ich das am besten? Geht das überhaupt über ein Limit/Require in der .htaccess?

    <files ...>
      require user benutzername
    </files>