Probleme mit Passwortschutz

  • Hallo liebe Member,


    seit Gestern habe ich ein kleines Problem. Ich wollte Gestern für ein Verzeichniss den Passwortschutz des "Parallels Confixx" nutzen. Ich habe das Verzeichniss ausgewählt und alle wichtigen Daten eingegeben. Dann habe ich des öfteren im Browser das Verzeichniss geöffnet, aber es kam nie eine Abfrage. Plötzlich musste ich auf einmal die Daten in ein sich öffnendes Fenster eintragen. Die weiteren Versuche danach nichtmehr! Auch nach dem leeren des Cache kam keine Abfrage mehr. Ich habe dann etwas im Internet gelesen und zwar, dass man das ganze mit einer .htacces Datei regeln kann. Also habe ich so einen netten Generator im Internet gefunden, der einem solch eine Datei macht. Ich hatte dann eine .htacces und eine .htpasswrd Datei, welche ich in den bei dem Generator eingegeben Ordner geladen habe. Ich wollte also nochmal testen und habe die Seite wieder aufgerufen. Plötzlich bekam ich nen kleinen Schock es stand " 500 Interneal Server Error":

    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.
    More information about this error may be available in the server error log.



    Ich habe es mermals versucht aber keine Veränderung. Leider habe ich diese beiden Dateien nichtmehr gefunden in dem Ordner. Da ich den Fehler unbedingt weg haben wollte, beschloss ich den Ordner zu löschen :rolleyes:. Der ganze Inhalt hat sich gelöscht der Ordner selbst nicht. Ja auch der Fehler blieb :D. Jetzt hoff ich stark auf eure Hilfe, damit ich den Fehler wegbekomme und das mir vllt. einer erklären kann wie ich so ein Verzeichniss mit Confixx sicher kann. Ich muss noch dazu sagen, dass ich leider keine großen Kenntnisse mit Programieren und so habe, beine HP basiert auf Joomla, welches ich weitaus besser beherrsche ;-).



    Vielen Dank im Vorraus



    Gruß Magnetic

  • Es klingt so, als wäre das ein Webhosting-Paket, da kann man meines Wissens nach den Error-Log nicht ansehen.


    Der Ordner kann vermutlich deswegen nicht gelöscht werden, weil die .htaccess-Datei noch darin liegt. Dateien, die mit einem Punkt beginnen, werden von Unix-Systemen als versteckte Dateien behandelt und sind daher normalerweise nicht sichtbar. Falls Confixx eine Option zum Anzeigen dieser Dateien bietet, versuche es damit. Ansonsten nimmst du ein FTP-Programm wie FileZilla und verbindest dich zum Server. Dort kann man im Menü "Server" die "Auflistung versteckter Dateien erzwingen". Damit solltest du den Ordner löschen können.


    Der Verzeichnisschutz dürfte auch eine .htaccess erstellen. Möglicherweise passiert das mit einer gewissen Verzögerung, sodass der Schutz nicht wirksam wird. Sobald das Passwort eingegeben wurde, wird es vom Browser gespeichert. Spätestens beim Neustart des Browsers muss man das Passwort dann neu eingeben.

  • Das .htaccess Files von Confixx haben andere Rechte als die, die man via FTP anlegt. Man muss den Passwortschutz erst via Confixx wieder aufheben, bis man den Ordner löschen kann.


    So war es jedenfalls bei meinem alten Hoster.


    Ein Internal Server Error kommt meistens dann, wenn man etwas in einer htaccess definiert, was entweder nicht erlaubt ist, oder syntaktisch falsch ist. Also manuell Angelegte htaccess umbenennen. Dann sollte der Fehler wieder weg sein.


    Wie Robert schon sagte, werden Dateien dessen Namen mit einem Punkt anfangen versteckt. In FileZilla Beispielsweise kann man "Verborgene Dateien anzeigen erzwingen" anhaken. Dann werden auch die Angezeigt.

  • Wow klasse vielen Dank für die ausführlichen Antworten! Dank eurem Tipp in FileZilla (welches ich hauptsächlich nutze) die versteckten Daten anzuzeigen, habe ich die .htaccess und die .htpasswrd sichtbar gemacht. Ich habe gestern bezüglich des Error Logs auch eine Supportanfrage gestellt und gleich eine Antwort bekommen, echt toll. Ich möchte ja das Verzeichniss DatenFlip schützen, in der Antwort steht also folgendes:


    Homepageadresse/DatenFlip/.htaccess: AuthName takes one argument, The authentication realm (e.g. "Members Only")"


    Und die Antwort hieß, dass ich nach "AuthName" nur ein Argument setzen darf.


    Leider weis ich nicht genau wo und wie ich das ändern soll :rolleyes:. Erstellt hatte ich die Datei hier http://www.pc-adviser.de/php/htaccess/htaccess_generator.php


    Ich habe dafür oben in der ersten Zeile nur mein Verzeichniss DatenFlip angegeben, was wohl schon falsch ist. Den rest habe ich bis aufs Passwort nicht geändert.


    Ich hoffe Ihr könnt mir das noch erklären. Vielen Dank!


    Gruß Magnetic

  • AuthName entspricht "Name des geschützten Bereiches" in dem Formular. Beim Standardwert ist ein Leerzeichen drin, daher funktioniert es nicht. Laut Apache-Handbuch: "Falls der Name des Realm Leerzeichen enthält, muss er in Anführungszeichen eingeschlossen werden." Das ist Problem #1. Allerdings hast du wahrscheinlich auch den Pfad nicht korrekt angegeben. Der sollte mit /var/www anfangen oder so ähnlich. Erstelle einfach eine info.php in dem Verzeichnis, das du schützen möchtest. Dort schreibst du rein
    [PHP]<?php phpinfo()[/PHP]
    und rufst sie im Browser auf. Suche dort nach "DOCUMENT_ROOT", dann hast du deinen Pfad (allerdings erwartet der Generator am Ende des Pfads einen Slash). Dann die info.php löschen und die beiden Dateien hochladen, damit sollte es funktionieren. Oder du versuchst es nochmal mit Confixx selbst.

  • :eek::eek: Boa wie schnell ;) Danke! Habe den richtigen Pfad schon gefunden! Nun funktionier es, aber nur wenn man am Anfang auch einen / macht also /var/www.... und natürlich dahinter auch. Wunderbar, dass das nun geht, aber was jetzt noch toll wäre, wenn man nach einer Aktualisierung wieder alle Daten neu eingeben muss und nicht erst den Brwoser neu starten. Wäre das möglich? Und in welchen Ordner mache ich am besten die Passwort Datei, denn die wird nun bei der auflistung in dem geschützen Ordner auch angezeigt?!


    Gruß Magnetic

  • Nein. Das geht nicht.
    Wenn man einmal eingeloggt ist, merkt sich der Browser ein Cookie was die Anweisung enthält so lange gültig zu sein, bis der Browser geschlossen wird.


    Evtl kann man das durch die .htaccess noch Einstellen. Da bin ich aber Überfragt.


    Und die Passwortfile kannste auch außerhalb des geschützten Ordners legen. Normal legt man sich für Passwortfiles nen Ordner außerhalb des Document Roots an, wo die dann alle rein kommen.

  • Zitat von Magnetic;5871

    Wunderbar, dass das nun geht, aber was jetzt noch toll wäre, wenn man nach einer Aktualisierung wieder alle Daten neu eingeben muss und nicht erst den Brwoser neu starten. Wäre das möglich?


    Du könntest maximal ein PHP-Script (z.B. logout.php) erstellen, dass beim Aufruf genau die selben Header wie der Apache sendet (HTTP Status 401). Dadurch würde der Browser dir das Eingabefeld erneut anzeigen und du könntest durch die Eingabe von falschen Daten dich ausloggen. Klingt kompliziert und ist es irgendwie auch, denn du müsstest danach wieder händisch eine andere Seite aufrufen, um von der logout.php wegzukommen.


    Zusammengefasst: Ein "Logout" wäre vielleicht machbar, aber ich glaube den Browser zu schließen geht schneller und ist einfacher ;)
    Denn per .htaccess gibt es soweit ich weiß keine Lösung, sonst wäre die mit Sicherheit schon weit verbreitet.


    @sim4000: Das ist übrigens kein Cookie wo das gespeichert wird soweit ich weiß, oder hat sich da in den letzten Browsergenerationen etwas geändert? :)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Ich hab ein Schnipsel in phpmyadmin gefunden, wie die dort den Logout managen, wenn man http Auth verwendet.
    [PHP] header('HTTP/1.0 401 Unauthorized');
    if (php_sapi_name() !== 'cgi-fcgi') {
    header('status: 401 Unauthorized');
    }[/PHP]Vielleicht hilfts ja weiter.


    KB19
    So ganze genau kann ich das auch nicht sagen. Aber kann ja eigentlich nur ein Cookie oder Sessioncookie auf dem Client sein. Sonst könnte ja jeder unter der IP auf den geschützten Bereich zugreifen.

  • Zitat von sim4000;5928

    So ganze genau kann ich das auch nicht sagen. Aber kann ja eigentlich nur ein Cookie oder Sessioncookie auf dem Client sein. Sonst könnte ja jeder unter der IP auf den geschützten Bereich zugreifen.


    Ich hätte eigentlich eher gedacht, dass es Browserintern gespeichert wird ohne Cookie. Denn der Browser sendet ja standardmäsig keine Auth-Informationen, bekommt einen 401-er und sendet sie, wenn er sie bereits vom Benutzer abgefragt hat. Oder habe ich da etwas falsch in Erinnerung? Ist eigentlich eh egal und spielt keine Rolle, werd mir das aber morgen mal mit meinem HTTP Sniffer ansehen :)


    Übrigens: Anstatt HTTP/1.0 (die Protokollversion) fix zu setzen, kann man auch $_SERVER['SERVER_PROTOCOL'] verarbeiten und einfügen ;)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)