Grafischer Login für .htaccess geschützten Bereich

  • #1
G

Gandalf_the_Grey

Bekanntes Mitglied
Themenersteller
Dabei seit
19.11.2003
Beiträge
2.768
Reaktionspunkte
0
Ort
Großraum Frankfurt/Main
Hallo zusammen,

habe gerade auf der Arbeit von meinem Chef ein lustiges Problem angetragen bekommen das ich irgendwie im moment gedanklich nicht zu lösen vermag und wo ich selbst im Manual von PHP nicht ganz weiter komme.

Mein Chef möchte folgendes. Wir haben auf unserer Intrantseite einen .htaccess geschützten Bereich in dem wichtige Daten liegen. Im Zuge der Designanpassung kam er auf die Idee das im das Fenster (das aufpoppt wenn man versucht den Bereich zu betreten, also die Reaktion auf Fehler 401) so in Zukunft nicht mehr gefällt. Er möchte das man sich über ein Formular (das ja grafisch anpassbar ist) anmeldet. (Dieses Formular soll wohl die Daten an das htaccess File liefern und sich damit authentifizieren. Er möchte aber logischerweise die Daten nicht im Klartext über die Adresszeile senden, und hier fängt mein Problem langsam an. Ich möchte also ein Login via php in einen htaccess geschützten Bereich. Sofern ein Login erfolgreich ist, ist das alles kein Problem, denn dann werden die Daten per Server Variable die hier verwendet werden, übergeben und Zugriff wird gewährt. (So zumindest die Theorie vor meinem geistigen Auge) Allerdings wenn dieser Login Versuch fehl schlägt (z.B. Falsches Passwort oder Falscher Username) dann poppt das Fenster ja trotzdem auf. Genau das soll verhindert werden. Hat jemand einen Ansatz? Habe diesbezüglich nur eine sehr obskure Lösung mit Hilfe von JavaScript gesehen.

P.S. Diese ?obskure? Lösung findet sich hier
 
  • #2
Hi

Das htaccess Verzeichnis aus dem htdoc Bereich rausschieben und den Zugriff auf das Filesystem über das php Script regeln. Dann kannste das gestalten wie du willst, hast aber trotzdem nur einen Überprüfungsort.

Gruß, Michael
 
  • #3
1. wenn MySQL vorhanden, .htaccess weg und normales PHP-Login ($_POST)
- keine Daten in der Adressleiste

2. wenn kein MySQL, Texdatei mit Zugangsdaten anlegen. Diese sollten in md5 o.ä verschlüsselt sein.
PHP-Login und gegenprüfen.

auf jeden Fall, wenn keine index.html vorhanden, eine anlegen (kann auch leer sein).

@Michael

kommt da bei einem Falschen Login nicht trotzdem das PopUp ???
 
  • #4
Hi

Nein da .htaccess ja wegfällt. Ein direkter Zugriff über den Webserver ist ja nicht mehr möglich, das PHP Skript greift auf Dateisystemebene darauf zu.

Gruß, Michael
 
  • #5
*gg* Liebe Leute,

ihr versteht nicht was ich möchte *gg* Ich möchte ein VERZEICHNISS schützen (nicht Scripte). Z.B. haben wir ein Verzeichniss auf dem Webserver das Bilder enthält. Per .htaccess direktive ist das Browsen durch diesen Ordner möglich und erwünscht. Allerdings soll der Zugriff der Personen auf diesen Ordner per .htaccess eingeschränkt und Passwortgechützt werden. Da hilft mir ein normales Login Script nicht weiter. Davon abgesehen das ein solches Script noch immer eine ganze Ecke unsicherer ist als .htaccess. Im Notfall (falls jemand NICHT über die Intranetseite darauf zugreift sondern per direktlink) soll ja weiterhin die Abfrage aufpoppen. Ich soll aber wie schon erwähnt einen grafischen Login über die Intranetseite schaffen. Wegen einem einfachen Login Script würde ich hier niemanden scheckig machen sondern was vorhandenes verwenden. *gähn* So, endlich, gleich ist Feierabend.
 
  • #6
Hi

Da ich der Meinung bin, dass das was du vorhast so nicht geht, ist das was ich vorgeschlagen habe eine gleichwertige Lösung 8)

Gruß, Michael
 
  • #7
PCDReitz schrieb:
Hi

Da ich der Meinung bin, dass das was du vorhast so nicht geht, ist das was ich vorgeschlagen habe eine gleichwertige Lösung 8)

Gruß, Michael

Ich bin mir recht sicher das das geht. Ich könnte zum Beispiel die htaccess Datei parsen. Den Standort der htpasswd rausfinden, diese parsen und somit einen Vergleich zwischen eingegebenem Passwort und Nutzername machen, und darauf entsprechend reagieren. Das was du vorgeschlagen hast kann ich mir im moment überhaupt nicht vorstellen. Würdest du das ggf. nochmal erklären?!
 
  • #8
Hi

Na gerne, normale PHP Login Scripte basieren ja darauf, dass quasi in jeder Datei der Status überprüft werden muss. Das ist für sowas ja murks.

Also schiebt man das ganze zu sichernde Verzeichnis aus dem htdocs Bereich raus. Das heißt es ist per Web nicht zu erreichen.

Dann bastelst du dir eine Session Facade mit PHP, denn PHP kann ja über das Dateisystem weiter auf das Verzeichnis zugreifen. Bei dem PHP Skript kannst du dich nun einloggen mit Session Verwaltung und z.B ein eigenes Directory Listing in PHP Programmieren, womit er auf das eigentlich nicht erreichbare Verzeichnis zugriff hat. Die gewünschte Datei übergibt man mit Parameter, natürlich mit strenger Variablenprüfung.

Gruß, Michael
 
  • #9
OK, ich habs geschnallt.

PCDReitz schrieb:
...
Das htaccess Verzeichnis aus dem htdoc Bereich rausschieben und den Zugriff auf das Filesystem über
...

Hab das falsch verstanden.
 
  • #10
PCDReitz schrieb:
Hi

Na gerne, normale PHP Login Scripte basieren ja darauf, dass quasi in jeder Datei der Status überprüft werden muss. Das ist für sowas ja murks.

Also schiebt man das ganze zu sichernde Verzeichnis aus dem htdocs Bereich raus. Das heißt es ist per Web nicht zu erreichen.

Dann bastelst du dir eine Session Facade mit PHP, denn PHP kann ja über das Dateisystem weiter auf das Verzeichnis zugreifen. Bei dem PHP Skript kannst du dich nun einloggen mit Session Verwaltung und z.B ein eigenes Directory Listing in PHP Programmieren, womit er auf das eigentlich nicht erreichbare Verzeichnis zugriff hat. Die gewünschte Datei übergibt man mit Parameter, natürlich mit strenger Variablenprüfung.

Gruß, Michael

War ich also doch gedanklich auf dem richtigen Weg. Na ja, das ist auch nicht wirklich das gelbe vom Ei. Na ja ich lass mir das mal durch den Kopf gehen und frag meinen Chef anschließend. Ich hasse meinen Job echt manchmal *seufz*
 
  • #11
ich sitze gerade vor dem selben Problem. Habe noch keine gute Lösung, möchte aber folgenden Ansatz mal zur Diskussion stellen:

Beim Login ins Intranet (noch kein Zugriff auf den geschützten Bilder-Ordner) muss man sich ja (sicher per PHP und MySQL) als Nutzer anmelden. Wenn hier das Passwort stimmt, trägt das PHP-Script die aktuelle IP in der htaccess-Datei als nicht-passwortbedürftig ein.

IP 192.168.0.0.
ALL

Bei Logout oder regelmäßig per Cronjob wird diese Zeile dann wieder entfernt, sodass nicht zufällig mal jemand mit derselben IP in den bereich gelangt (bzw. von gleichen Rechner im Intranet).

Meint ihr, das könnte was werden?
 
Thema:

Grafischer Login für .htaccess geschützten Bereich

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben