Autoryzacja HTTP - kolejny sposób

Jeżeli z jakiś powodów potrzebujesz w szybki sposób zabezpieczyć jakąś stronę, to poniższy skrypt Ci w tym pomoże. Umieść go jako pierwszy kod na stronie.

<?php

$login = "admin"; // tu wpisz swój login
$password = "pass"; // a tu swoje hasło

if(!isset($_SERVER['PHP_AUTH_USER']) or strcmp($_SERVER['PHP_AUTH_USER'],$login) or strcmp($_SERVER['PHP_AUTH_PW'],$password)) {
header("WWW-Authenticate: Basic realm=strefa chroniona");
header("HTTP/1.0 401 Unauthorized");
die("Brak uprawnień do przeglądania strony");
}
else {
echo "Witaj w strefie chronionej!";
}

?>

lub tak:

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Tekst do wysłania, jeśli użytkownik wciśnie przycisk Anuluj';
exit;
} else {
echo "<p>Hej {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>Twoje hasło to {$_SERVER['PHP_AUTH_PW']}.</p>";
}
?>

Autoryzacja HTTP z wymuszeniem przelogowania

<?php
function authenticate() {
header('WWW-Authenticate: Basic realm="Testowy system autoryzacji"');
header('HTTP/1.0 401 Unauthorized');
echo "Musisz podać poprawny login i hasło by wejść na tę stronę\n";
exit;
}

if (!isset($_SERVER['PHP_AUTH_USER']) || ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
authenticate();
}
else {
echo "<p>Witaj: {$_SERVER['PHP_AUTH_USER']}<br>";
echo "Poprzenio: {$_REQUEST['$OldAuth']}";
echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='POST'>\n";
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";
}
?>