Passwortabfrage

Diskutiere Passwortabfrage im Programmierung Forum im Bereich Software Forum; Moinsen, ich muss eine Datenbank vor unerlaubtem Zugriff schützen und benutze dazu ein PHP - Script. Welches so aussieht: <?php if...
A

Alokat

Threadstarter
Mitglied seit
22.11.2004
Beiträge
553
Moinsen,

ich muss eine Datenbank vor unerlaubtem Zugriff schützen und benutze dazu ein PHP - Script.

Welches so aussieht:

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
Header("WWW-Authenticate: Basic realm=\"My Realm\"");
Header("HTTP/1.0 401 Unauthorized");
echo "Text to send if user hits Cancel button\n";
exit;
} else {
echo "Hello {$_SERVER['PHP_AUTH_USER']}";
echo "

You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>


Und jetzt frage ich mich, wo ist die Datei, in der angegeben wird, welche Benutzer mit welchem Kennwort darauf zugreifen dürfen.

Gehe ich recht in der Annahme, das diese Informationen in einer Text - Datei gespeichert werden, und wenn ja wo muss ich in dem Script den Pfad angeben?
 
DrHoffmann

DrHoffmann

Mitglied seit
23.03.2004
Beiträge
189
Alter
41
Moin,

wenn Du aus dem Manual kopierst, dann lies Dir doch auch mal den Rest durch. :rtfm :cool

1.

Hat der Benutzer diese eingegeben, wird die URL des PHP-Scripts mit den Variablen $PHP_AUTH_USER, $PHP_AUTH_PW und $PHP_AUTH_TYPE, die den jeweiligen Benutzernamen, das Passwort und den Typ der Identifizierung enthalten, erneut aufgerufen.
2.

Anstatt $_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW'] einfach nur auszugeben, werden Sie den Benutzernamen und das Passwort auf Gültigkeit überprüfen wollen. Dies kann durch die Abfrage einer Datenbank oder das Einlesen einer Textdatei geschehen.
Beispiel

Code:
<?

if (!isset($_SERVER['PHP_AUTH_USER'])) {
  Header("WWW-Authenticate: Basic realm=\"My Realm\"");
  Header("HTTP/1.0 401 Unauthorized");
  echo "Text to send if user hits Cancel button\n";
  exit;
} else {
  //Hier kannst Du alternativ eine DB abfragen oder eine Textdatei einlesen
  if ($_SERVER['PHP_AUTH_USER'] == 'gerhard' && $_SERVER['PHP_AUTH_PW'] == 'schröder') {
    echo "Willkommen Bundeskanzeler";
 }
}

?>
Gruss,

Tobi
 
A

Alokat

Threadstarter
Mitglied seit
22.11.2004
Beiträge
553
Ok,

ich muss ehrlich zugeben, das ich ein absoluter Neuling bin, was php betrifft!

Habe eine Datenbank die Passwort heisst, und eine Tabelle (User), wo der User "test" mit dem Passwort "test" und der Type "Basic" drinne steht!

Wie bekomme ich jetzt ein Script hin, dass mir eine Abfrage aus dieser Datenbank/ Tabelle startet?
 
A

Alokat

Threadstarter
Mitglied seit
22.11.2004
Beiträge
553
Moinsen,

nach langem Suche und ausprobieren ist das die richtige Antwort:

<?php
function authenticate()

{
Header( "WWW-authenticate: basic realm=Anmeldung am OrderList System MoreDev");

exit;
}

function authenticate2()
{
Header( "WWW-authenticate: basic realm=Anmeldung fehlgeschlagen bitte wiederholen");
exit;
}

if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)) )
{
authenticate();
}

else
{
$db = mysql_connect();
$SQLQ = "select count(*) as login from User where php_user = '$PHP_AUTH_USER' and php_passwort = password('$PHP_AUTH_PW')";
$res = mysql_db_query("passwort", $SQLQ);
$LOGIN = mysql_result($res,0,"login");


if($LOGIN=='0')
{
authenticate2();
exit;
}
else

{

echo "Seite anzeigen";

}
}
?>
 
DrHoffmann

DrHoffmann

Mitglied seit
23.03.2004
Beiträge
189
Alter
41
Moin,

das steht aber auch alles peinlich genau im Manual.

Mal so als kleiner Tipp, würde ich dir empfehlen den Code einzurücken. Das macht ihn besser lesbar, besonder wenn Du verschiedene If/else Verschachtelungen hast.

Ein paar Sachen sind mir noch aufgefallen:

1. Woher nimmst du $SeenBefore und $OldAuth?
2. Im Query solltest Du noch "php_passwort" In Anführungszeichen setzen
3. Entscheiden dich für eine Schreibweise Deiner Variabeln, denn $LOGIN != $login.
4. Setz dich mal genauer mit den Funktionen bzw. Objekten auseinander, denn dein Code kann man noch 'ne ganze Menge vereinfachen.
5. Und schau dir mal an was guter und was schlechter Code ist.
Gruss,

Tobi
 
Thema:

Passwortabfrage

Passwortabfrage - Ähnliche Themen

  • Outlook f. Android nervt mit wiederholter Passwortabfrage

    Outlook f. Android nervt mit wiederholter Passwortabfrage: Ich habe in Outlook mehrere Postfächer eingetragen GMX-> läuft 1 A Google -> dito AOL .. nervt ! Mindestens einmal am Tag will Outlook für...
  • Ständig MS Passwortabfrage trotz Abschaltung

    Ständig MS Passwortabfrage trotz Abschaltung: Hallo, nach einem Festplattenwechsel (SSD) mit Windows Umzug darauf werde ich bei jedem Neustart nach meinem MS Passwort gefragt. Das habe ich...
  • Passwortabfrage beim Hochfahren von Windows 10 umgehen, bei mehreren Benutzern

    Passwortabfrage beim Hochfahren von Windows 10 umgehen, bei mehreren Benutzern: Hallo, kann ich die Passwortabfrage beim Hochfahren von Windows 10 umgehen, auch wenn mehrere Benutzer aus einer Familie angelegt sind? Danke!
  • nach Update ständige Passwortabfrage

    nach Update ständige Passwortabfrage: Hallo, nach einem Update von meinem Outlook auf den wohl neusten Stand werde ich immer nach meinem Passwort gefragt. auch nach dem ich es...
  • VPN mit Outlook - Wiederholte Passwortabfrage

    VPN mit Outlook - Wiederholte Passwortabfrage: Hallo zusammen, ich habe meinen Computer neu aufgesetzt und mir jetzt eine 5-Jahreslizenz für das VPN Tool von Ivacy geholt - das funktioniert...
  • Ähnliche Themen

    Oben