LordHexa Geschrieben 23. Juni 2005 Teilen Geschrieben 23. Juni 2005 Guten Morgen zusammen, ich habe das Problem, das ich auf einem Server ein Script laufen lassen will, dieser ist jedoch htaccess geschützt. Wie kann ich in diesem Script den entsprechenden User und das Pwd übergeben ? Thx a lot MfG LordHexa Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 23. Juni 2005 Teilen Geschrieben 23. Juni 2005 Wenn Du PHP als Apache-Modul laufen hast, dann sollte es so gehen: $_SERVER['PHP_AUTH_USER'] bzw. $_SERVER['PHP_AUTH_PW'] 'PHP_AUTH_USER' When running under Apache as module doing HTTP authentication this variable is set to the username prodived by the user. 'PHP_AUTH_PW' When running under Apache as module doing HTTP authentication this variable is set to the password prodived by the user. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LordHexa Geschrieben 23. Juni 2005 Autor Teilen Geschrieben 23. Juni 2005 Hat geklappt, danke MfG LordHexa Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LordHexa Geschrieben 23. Juni 2005 Autor Teilen Geschrieben 23. Juni 2005 Tja zu früh gefreut. Mir bleibt nichts anderes übrig, als die Datei die das Script öffenen soll folgender Maßen zu öffen http://$username:$pwd@diedomain.de Aber vielleicht gibts ja noch nen Weg. $_SERVER['PHP_AUTH_USER']; $_SERVER['PHP_AUTH_PW']; [/PHP] Diese dienen ja nur dazu, zu ermitteln was eingegeben wurde, nimmt mir allerdings nicht die Eingabe ab. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 23. Juni 2005 Teilen Geschrieben 23. Juni 2005 eine weitere möglichkeit: mach mit fsockopen port 80 auf und schick mit fputs folgende daten hin: POST /meinscript.php HTTP/1.1 Host: blabla.meinhost.at Content-Type: bla/blu Authorization: Basic <und ein MD5-hash> ist leider schon länger her, aber ich glaube der hash setzt sich aus benutzername und passwort o.ä. zusammen. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 23. Juni 2005 Teilen Geschrieben 23. Juni 2005 Wie kann ich in diesem Script den entsprechenden User und das Pwd übergeben ? Kannst du gar nicht. PHP_AUTH_USER etc. sind nur dann vorhanden, wenn der Benutzer sich angemeldet hat. Sobal der Apache einen Geschützten Bereich vorfindet, prüft er, ob die Übergebenen Authehtifizierungen mit dem Reallm (dem gesch. Bereich) übereinstimmen bzw. gültig dafür sind. Das tut er auch schon beim ersten Aufruf der Seite! In diesem Fall kann das natürlich nicht stimmen, weil der Benutzer noch gar nichts eingegeben hat, was der Browser mitsenden könnte. Also schickt der Apache einen Fehler 401 an den Browser um ihm zu sagen, dass er eine Berechtigung braucht. Der Browser reagiert auf einen 401 Fehler damit, dass er dem Benutzer einen Dialog zur eingabe von Name und Passwort anzeigt. Mit den eingegebenen Daten sendet der Browser dann erneut eine Anfrage an den Server, welcher die Daten prüft und entweder den Zugriff gewährt, oder wieder einen 401 an den Browser schickt. Etc. etc. Die einmal eingegebenen DAten merkt sich der Browser solange, bis er geschlossen wird. Wenn du dich einmal bei einer .htaccess-geschützten Seite anmeldest, kommst du immer wieder ohne Anmeldung drauf, bis du den BRowser zumachst. Der Browser löscht die Daten (für den jeweiligen Realm) nur, wenn er wieder einen 401 Fehler bekommt. Ein Ausloggen ist also mit einer reinen .htaccess-Anmeldung nicht möglich. zu deinem Problem: Da du von deiner Seite aus keine Möglichkeit hast, den Browser mit Name und Passwort zu füttern (was ja auch ganz gut so ist), kann der Browser nie von anfang an gleich die richtigen Daten mitsenden. Deine Lösung mit Benutzer:Password@Server ist auch nicht unbedingt gut, weil es kein offizieller Standard ist und beim IE z.B. wurde sowas durch einen Patch (aus Sicherheitsgründen) ausgeschalten. Ausserdem: Wenn Benutzer und Passwort schon im Link stehen, wozu brauchst du dann überhaupt noch ein? Also entweder legst du den Aufruf schon in den geschützten Bereich, oder du legst dein Script aus dem Bereich. Eine weitere Möglichkeit wäre, die Authentifizierung nicht über .htaccess zu machen, also z.B. irgendwie über PHP direkt (DB-Abfrage o.ä.). EDIT: Wie Amstelchen das sagt geht es theoretisch schon, du tust damit ja nichts anderes als der Browser. Allerdings dachte ich, dass ohne HTTPS z.B. die Passwörter im Klartext übertragen werden, also nicht md5 oder so? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.