Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » Server-Administration » htaccess & PHP Autentifizierung Antworten
htaccess & PHP Autentifizierung

Bastian_W
Otto-Normal-Poster


Beiträge: 85


Hi,

ich finde für mein Problem einfach keine gescheite Lösung, vielleicht weiß jemand von euch Rat oder hat sogar ein Codschnipsel für mich

Problem:
Ich will eine Anmeldemaske bauen die aus PHP besteht, es soll sich also kein Fenster wie es bei htaccess der Fall ist öffnen. Allerdings und jetzt kommt der knackpunkt... soll der User wenn er versucht eine ZIP Datei herunterzuladen ebenfalls gezwungen werden sich anzumelden... Mit der Anleitung hier: http://aktuell.de.selfhtml.org/tippstricks/php/loginsystem/ komme ich in meinem Falle nicht weiter...


---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren

NetDrag
Foren-Team


Beiträge: 461


Naja, das ist jetzt nur ne vermutung, aber versuch doch einfach die authentifizierung doppelt zu machen, d.h. der eingegebene username wird auf beides systeme authentifiziert, intern und über $_SERVER['PHP_AUTH_USER']=username und $_SERVER['PHP_AUTH_PW']=passwd

---
We are born wet, naked and hungry, then things got worse!

  Profil   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


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.

---
Weaverslave

  Profil   Website   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Zieht das nicth eigentlich gut Serverreserven?

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


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.

---
Weaverslave

  Profil   Website   Editieren   Zitieren

Bastian_W
Otto-Normal-Poster


Beiträge: 85


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?

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


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.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben