Excel-Datei nur bestimmtem REMOTE_USER zugänglich
Andreas Korthaus
- https
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
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
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);
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
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);
Hallo Matti,
Ja.
Warum? Eine <Files>-Sektion müsste es doch auch tun?
Grüße,
Christian
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);
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 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>