WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Rund um die Administration von Server und Webserver, Apache, Linux, Mailserver, FTP, SSH, MySql, Windows Server, u.v.m.


Forum » Server-Administration und Verwaltung » htaccess & PHP Autentifizierung » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von subjective
Du solltest nocht den passenden Content-Type: application/octet-stream mit rausschicken. Das Problem der Dateinamen löst sich ja über die Rewrite-Rule.

Dies ist übrigens die Lösung über ein Wrapper-Script.
von Bastian_W
ich habe das nun so gelöst

Im Downloadverzeichniss liegt eine htaccess Datei mit dem Inhalt:

1: 
2: 
3: 
4: 
5:
RewriteEngine on
Options FollowSymLinks
RewriteRule .* ../checksession.php [NC]


und in der checksession.php überprüfe ich ob die Session die ich mit PHP Aufbaue noch gültig ist, bzw keine mehr Existiert... wenn sie gültig ist lasse ich mit:

readfile(".".$_SERVER['REQUEST_URI']);

das jeweils angeforderte File geben...

Was haltet ihr davon?

Das einzigste Problem ist, das man evtl. mit readfile jede Datei aufrufen kann die bei mir auf dem Server liegt... das finde ich derzeit nicht so schön... jemand ne Idee?
von subjective
Naja nicht mehr als andere PHP-Seiten auch. Wenn man es etwas schöner machen will, sollte man die einzelnen Dateien stückchenweise rausschicken (flush). Wobei das allerdings nicht funktioniert, wenn trans-sid aktiv ist.

Das Problem bei der Authentifizierung über den Webserver selbst (siehe NetDrag), ist die Kompatibilität. Es funktioniert nur, wenn PHP als Modul im Apache läuft.
von languitar
Zieht das nicth eigentlich gut Serverreserven?
von subjective
Du mußt halt _alle_ Requests (auch die Downloads) über ein PHP-Script abwickeln. Die Datieen, welche zum Doanload angeboten werden sollen, legst du in ein Verzeichnis außerhalb des Document-Root oder eines das du per .htaccess komplett blockst.

PHP-Scripte auf dem Server greifen direkt auf das Dateisystem zu, sind also von der Blockade nicht betroffen. Ein solches PHP-Script dient dann als Wrapper für den Download.

download.php?file=foo.zip

In dem Wrapper prüfst du dann erstmal das Login und gibst dann die Datei aus. Vorher solltest du passende HTTP-Header schicken, damit der Browser mitbekommt, dass es sich um einen Download handelt.

Nach oben