Apache soll htaccess-Loginversuche protokollieren

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache soll htaccess-Loginversuche protokollieren

Postby onlineuser » 05. January 2006 18:11

Hi!

Ich möchte, dass der Apache jeden Login-Versuch mittels htaccess (Username + Passwort) mit protokolliert.

Die error.log Datei enthält leider nur den eingegeben Usernamen, nicht aber das PAsswort. Kann man diese Option irgendwie aktivieren?

Oder wie kann ich das sonst realisieren?

Liebe Grüsse.
onlineuser
 
Posts: 22
Joined: 05. January 2006 18:07

Postby Wiedmann » 05. January 2006 18:23

nicht aber das PAsswort. Kann man diese Option irgendwie aktivieren?

Nein.

(Im Grunde kann dir das ja aber auch egal sein...)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby onlineuser » 05. January 2006 18:45

Hi!

Habe nun eine interessante Sache gefunden:

Code: Select all
<?php
  function authenticate() {
   header('WWW-Authenticate: Basic realm="PHP Login"');
   header('HTTP/1.0 401 Unauthorized');
   echo "You must enter a valid login ID and password to access this resource\n";
   exit;
  }
 
  if (!isset($_SERVER['PHP_AUTH_USER']) ||
     ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
   authenticate();
  }
  else {
   echo "<p>Welcome: {$_SERVER['PHP_AUTH_USER']}<br />";
   echo "Old: {$_REQUEST['OldAuth']}";

   echo '<form action="save.php" METHOD="post"';
   echo "<input type='hidden' name='SeenBefore' value='1' />\n";
   echo "<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}' />\n";
   echo "<input type='submit' value='Re Authenticate' />\n";
   echo "</form></p>\n";
  }
?>


Nun kann ich den eingegebenen Usernamen an PHP übergeben und wegspeichern, aber leider das Passwort nicht. In welcher Variable wird das Passwort zwischengespeichert?

Wie komme ich an den Quellcode der Funktion "authenticate()"?

Liebe Grüsse.
onlineuser
 
Posts: 22
Joined: 05. January 2006 18:07

Postby onlineuser » 05. January 2006 18:53

Hi!

echo $_SERVER['PHP_AUTH_USER'];
echo $_SERVER['PHP_AUTH_PW'];

So, Problem gelöst! In diesen Variablen befindet sich das Passwort! *g*

Liebe Grüsse.
onlineuser
 
Posts: 22
Joined: 05. January 2006 18:07

Postby KingCrunch » 05. January 2006 19:16

Gegenfrage: Wieso willst du überhaupt Passwörter mit-protokollieren?
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25


Return to Apache

Who is online

Users browsing this forum: No registered users and 25 guests