Ich arbeite an einer Lösung für ein Problem, bei dem Benutzer potenziell auf Bilder (in diesem Fall PDF-Dateien) in einem Ordner von der Server-Root zugreifen können. Normalerweise validiert meine Anwendung Benutzer durch PHP-Skripts und -Sitzungen. Was derzeit nicht geschieht, verhindert, dass nicht angemeldete Benutzer möglicherweise auf die PDFs zugreifen.Schutz von Bildern vor direktem Zugriff durch Überprüfung der aktuellen PHP-Session mit mod_rewrite
Die Lösung, nach der ich suche, würde (glaube ich) mit Apache verbunden werden müssen. Ich sah eine interessante Lösung mit RewriteMap & RewriteRule, aber das Beispiel beinhaltet, dies in eine .htaccess-Datei im PDF-Verzeichnis zu setzen. Das kann mit Apache nicht gemacht werden (Fehler: RewriteMap ist hier nicht erlaubt). Ich glaube, die Rewrite-Anweisungen müssen in meine httpd.conf gehen, auf die ich zugreifen kann.
So das Beispiel, das ich gefunden (in Folge 'erlaubt RewriteMap nicht hier') ist hier: RewriteEngine On RewriteMap Auth prg: Auth.php RewriteRule $ (. *) {Auth: $ 1}
auth.php überprüft lediglich die PHP-Sitzung und leitet bei Bedarf zu einem Login-Skript weiter.
Ich lese, dass ich dies in meine httpd.conf platzieren muss. Wie würde ich angeben, dass die RewriteMap nur in einem bestimmten Verzeichnis (einschließlich Unterverzeichnissen) auftreten soll?
Borrowing aus dem MVC-Muster, Sie könnten alle Anfragen an eine Bootstrap-Datei umleiten und dann je nach Berechtigungen entweder die angeforderte Datei oder eine Standarddatei laden. – Moses
@Moses - darum gehe ich mehr oder weniger. Seit ich meine Frage gepostet habe, hatte ich keine Zeit mehr, Apache-Konfigurationen zu recherchieren und zu testen - also bin ich immer noch nicht sicher, wie ich den Traffic richtig umleiten kann. –