php basiertes htaccess script
Tampoco
- https
Hallo
ich habe ein interesantes Script gefunden mit welchem eine Art Logout
bei htaccess-logins vorgenommen werden kann,logouts bei htaccess gibt
es ja eigentlich nicht da htaccess keine sessions zulaesst aber
durch einen Umweg kann man ein Logout realisieren.
Das Script funktioniert soweit auch ganz gut nur so wie es beschaffen ist
laesst es keinen Schutz von Bildern zu,ich moechte gern ein Bild damit
schuetzen.
<?php
ob_start();
if (!isset($_SERVER['PHP_AUTH_USER']) || $_COOKIE['isin'] != "1") {
header('WWW-Authenticate: Basic realm="Logintest"');
header('HTTP/1.0 401 Unauthorized');
setcookie ("isin", "1");
die('<a href="login.php">Login</a>');
}
else {
if($_SERVER['PHP_AUTH_USER'] == "USER" && $_SERVER['PHP_AUTH_PW']== "PASSWORD") {
echo "Du bist drin,zum ausloggen auf logout gehen und dann Abrechen ";
echo "<a href='".$_SEVER['PHP_SELF']."?action=logout'>logout</a>";
}
else {
setcookie ("isin", "", time() - 100);
$url=$_SERVER['PHP_SELF'];
header("location: $url");
}
if($_GET['action'] == "logout") {
setcookie ("isin", "", time() - 100);
$url=$_SERVER['PHP_SELF'];
header("location: $url");
}
}
ob_end_flush();
?>
Hello,
ich habe ein interesantes Script gefunden mit welchem eine Art Logout
bei htaccess-logins vorgenommen werden kann,logouts bei htaccess gibt
es ja eigentlich nicht da htaccess keine sessions zulaesst aber
durch einen Umweg kann man ein Logout realisieren.
Das Script funktioniert soweit auch ganz gut nur so wie es beschaffen ist
laesst es keinen Schutz von Bildern zu,ich moechte gern ein Bild damit
schuetzen.<?php
ob_start();
if (!isset($_SERVER['PHP_AUTH_USER']) || $_COOKIE['isin'] != "1") {
header('WWW-Authenticate: Basic realm="Logintest"');
header('HTTP/1.0 401 Unauthorized');
setcookie ("isin", "1");
die('<a href="login.php">Login</a>');
}
else {
if($_SERVER['PHP_AUTH_USER'] == "USER" && $_SERVER['PHP_AUTH_PW']== "PASSWORD") {
echo "Du bist drin,zum ausloggen auf logout gehen und dann Abrechen ";
echo "<a href='".$_SEVER['PHP_SELF']."?action=logout'>logout</a>";
}
else {
setcookie ("isin", "", time() - 100);
$url=$_SERVER['PHP_SELF'];
header("location: $url");
}
if($_GET['action'] == "logout") {
setcookie ("isin", "", time() - 100);
$url=$_SERVER['PHP_SELF'];
header("location: $url");
}
}
ob_end_flush();
?>
Dieses Script ist vollkommen am Thema vorbei, da Cookies verwendet werden. Und wenn Cookies verwendet werden können, dann benötige ich keine Basic Authentication für die Benutzerwiedererkennung.
Im Übrigen kann man mit Basic Authentication sehr wohl Sessions führen. Eine Session ist im Prinzip ja nichts anderes, als den Client wiederzuerkennen.
Dass der Clent dann auch bestimmte Rechte zugeordnet bekommen kann und auf dem Server einen programmtemporären Datenspeicherbereich zugeordnet bekommt, steht soch wieder auf dem nächsten Blatt.
Auf dieses Script möchte ich näher eingehen.
Allerdings möchte ich noch bemerken, dass es nicht das Verwäumnis des Servers ist, dass man sich nicht "abmelden" kann, sondern das Versäumnis des Browsers. Dieser behält die Zugangsdaten solange gespeichert und sendet sie immer wieder mit, solange die Instanz des Browsers geöffnet bleibt.
Man kann sich nur "abmelden", indem man dazu das Passwort ändert, was durchaus durch ein PHP-Script, das auf die Passwortdaten zugreifen kann, möglich ist. Das wäre auch konsequent, denn bei Session per Cookies bekommt man ja typischerweise auch jedes Mal einen neuen Cookiewert zur Verfügung gestellt.
Sicherheit ist kein Zustand, Sicherheit ist ein Prozess.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
ich hatte eigentlich geschrieben:
Auf dieses Script möchte ich NICHT näher eingehen.
Der Wortfresser hat wohl wieder zugeschlagen. :-O
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg