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";
  }
?>

 

Projekt © 2009 - INFOPROG 72069 odwiedzin