htaccess und loginformular

ddbug

Grünschnabel
Hallo,
Ist es irgendwie möglich die Variablen $PHP_AUTH_USER $PHP_AUTH_PW an eine Seite zu schicken, die mit .htaccess geschützt ist um somit den login zu erhalten?
Wenn ja kann ich das ganz normal mit einem Formular machen?

Gruß
Tobias
 
Hallo!

Es ist zwar nicht ganz HTML-Konform, es sollte aber folgendermaßen funktionieren:

Einfach den Link so ändern:

statt

http://domain.de/

einfach

http://name:kennwort@domain.de/

angeben.
Vielleicht ist es aber besser, in der .htaccess-Datei das ErrorDocument für den "Fehler", der bei dieser Art des Logins auftritt (Authorisation required), ein PHP-Script zu definieren.

Grundsätzlich kannst du auch jeder Datei, die in einem HTAccess-Schutz liegt und die du mit fsockopen öffnest, die Header der Autorisierung einfach mit zu senden.
Aber das kann natürlich nicht überall als "Zwischenscript" laufen, da dass ja eher die Form eines Proxy wäre.
 
Hallo,

Ich habe es mal so versucht:
PHP:
<?php
extract($_POST);
  $pwdir = "www.xxx.info/php/demo/termine/admin/upload/"; 
  if ($action == "login") {
  $loginaddr = "http://".$username.":".$password."@".$pwdir; 
    header("location: $loginaddr");
  } else {
?>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="test.php"  method="POST">
<input type="hidden" name="action" value="login">  
Benutzername: <input type="text" name="username"><br>
Passwort: <input type="password" name="password"><br>
<br>
<input type="submit" name="login" value="Login">
</form>
<?
}
?>
</body>
</html>
Leider habe ich da aber wieder das popup Fenster bekommen.
Wenn ich dann auf abbrechen klicke stehen in der Browserzeile die richtigen Zugangsdaten aber ich muss dann erst wieder Enter drücken um in den geschützten Bereich zu kommen.
Was mache ich da Falsch?
 
wichtige Daten sprich Loginnamen und Passwoerter sollten 'niemals' in der URL übergeben werden und schon garnicht unverschlüsselt!. Es macht es sehr einfach fuer unbefugte, sprich =>dritte, solche wichtigen Daten abzugreifen.

Ausserdem funktioneren $PHP_AUTH_PW und $PHP_AUTH_USER in PHP 4.3x nicht mehr .. nur nnoch $_SERVER['REMOTE_USER']; fuer den Loginnamen das Passwort kann nicht mehr abgefragt werden mit PHP... zumindestens war es noch so vor einigen Monaten.. ;D
 
Zurück