2011-01-03 12 views
1

Ich möchte den Zugriff auf einige große Dateien (wir sprechen hier viele GB) durch die Verwendung von signierten URLs steuern. Die Dateien sind derzeit durch die LDAP-Standardauthentifizierung (mod_auth_ldap) eingeschränkt, aber ich muss dies ändern, um die Signatur zu überprüfen (die als Abfrageparameter in der URL übergeben wird).Zugriff auf große Dateien in Apache steuern

Im Grunde muss ich nur ein Skript ausführen, um die Signatur zu überprüfen, und erlauben Sie der Anfrage fortzufahren, als ob Authentifizierung erfolgreich war. Mein erster Gedanke war, nur ein einfaches CGI-Skript zu verwenden, aber da die Dateien so groß sind, mache ich mir Gedanken über die Leistung. Also ist diese Frage (wahrscheinlich) eher wie "gibt es irgendwelche Auswirkungen auf die Performance beim Streamen großer Dateien von einem CGI-Skript über Apache?" ... und wenn ja, "gibt es einen besseren Weg, dies zu tun (kurz vor dem Schreiben eines dedizierten Authentifizierungsmodul)? "

Wenn dies Sinn macht, würde Hilfe sehr geschätzt :)

P. S. Ich war mir nicht sicher, wonach genau zu suchen war (10 Minuten Googeln waren fruchtlos), also könnte ich sehr wohl die Post von jemand anderem duplizieren.

Antwort

0

Ich löste dies mit einem CGI-Skript wie erwähnt ... Cookies waren keine Option, weil wir in der Lage sein müssen, Clients zu unterstützen, die keine Cookies (apt) verwenden.

0

Werfen Sie einen Blick auf die Krypto-Cookies/Sitzungen in Apache - eine Möglichkeit, dies zu tun ist eine Must-have-gültige Session-Limit für dieses Verzeichnis - weiterleiten, wer nicht eine gültige zu einem CGI-Skript ; auth dort - und dann zurück zum eigentlichen Download.

So kann Apache seine normale sendfile() und andere Optimierungen verwenden.

Bedenken Sie jedoch, dass ein Shell-Skript oder Perl-Skript, das mit einer einfachen 'execvp', 'exec cat' oder so ähnlich endet, nicht so teuer ist.

Eine Alternative ist mehr uRL basiert - wie http://authmemcookie.sourceforge.net/.

Dw.

Verwandte Themen