:: Anbieterverzeichnis :: Globale Branchen
:: SELFPHP Forum ::
Fragen rund um die Themen PHP?
In über
130.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
|
Authentifizierung via HTTP: Seite 2 |
|
SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an.
Weitere Informationen
<?php
if($_SERVER["PHP_AUTH_USER"]!="Matthias"
OR $_SERVER["PHP_AUTH_PW"]!="Kannen") {
Header('HTTP/1.1 401 Unauthorized');
Header('WWW-Authenticate: Basic realm="Privatezone"');
echo "Sie haben den Vorgang abgebrochen!";
exit;
}
?>
<html>
<head>
<title>Privatzone</title>
</head>
<body>
<h1>Hier ist die Privatzone von </h1>
<h2>
<?php
echo "Benutzer: ".$_SERVER["PHP_AUTH_USER"]." Passwort: ".$_SERVER["PHP_AUTH_PW"];
?>
</h2>
</body>
</html>
Das PHP-Skript erhält über folgende Servervariablen die Anmeldedaten:
Variable | Wert | $_SERVER["PHP_AUTH_USER"] | Benutzername | $_SERVER["PHP_AUTH_PW"] | Passwort im Klartext | $_SERVER["PHP_AUTH_TYPE"] | Authentifizierungstyp |
Das Skript kann die Gültigkeit der so übergebenen Daten prüfen. Diese Variablen stehen Ihnen immer nur dann zur Verfügung, wenn das PHP-Skript die Authentifizierung veranlasst hat. Hat sich ein Anwender einmal am System angemeldet, werden die Anmeldungsdaten im Browser gesichert. Bei jedem Aufruf einer Resource im geschützten Bereich sendet dieser automatisch die Authentifizierungsdaten mit. Der Anwender muss sich somit nur einmal anmelden. Sie sollten jedoch beachten, dass im Authentifizierungsschema Basic das Passwort im Klartext gesendet wird. Es wäre daher ratsam, gegebenenfalls HTTPS zu verwenden, um eine sichere Übertragung zu gewährleisten.
Sicherheitsproblem
Ein weiteres Sicherheitsproblem ist zu berücksichtigen: Der Browser speichert nämlich den Benutzernamen und das Passwort, sodass die Autoren derjenigen Seiten, die man nach der Passworteingabe abruft, theoretisch das Passwort abfragen könnten. Dies kann man jedoch ganz einfach verhindern, indem man den Browser komplett beendet oder den PHP-Abschnitt wie folgt anpasst:
<?php
if($PHP_AUTH_USER!="Matthias" OR $PHP_AUTH_PW!="Kannen") {
Header('HTTP/1.1 401 Unauthorized');
Header('WWW-Authenticate: Basic realm="Privatezone"');
echo "Sie haben den Vorgang abgebrochen!";
exit;
} else {
unset($PHP_AUTH_PW);
}
?>
Variante via $_SERVER
<?php
if($_SERVER["PHP_AUTH_USER"]!="Matthias" OR $_SERVER["PHP_AUTH_PW"]!="Kannen") {
Header('HTTP/1.1 401 Unauthorized');
Header('WWW-Authenticate: Basic realm="Privatezone"');
echo "Sie haben den Vorgang abgebrochen!";
exit;
} else {
unset($_SERVER["PHP_AUTH_USER"]);
}
?>
|
|
|
|
|
:: Anbieterverzeichnis ::
Webhosting/Serverlösungen
Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?
Sie sind nur ein paar Klicks davon entfernt!
|