[Tech] basic authentication e javascript

Claudio Mannucci claman64@tin.it
Ven 15 Feb 2002 09:27:22 CET


On Thu, 14 Feb 2002, Franco Bagnoli wrote:

> Domanda? esiste una paniera "portabile" di dare i parametri di
> autenticazione "basic" di apache (quella definita da .htaccess e
>....
>....
>....
> Si puo' rendere piu' facile la faccenda o devo gestire l'autenticazione
> tramite coockie o url-encoding con un mio handler? [......]

Personalmente l'autentificazione di Apache rimane per me limitativa
proprio per i problemi di cui dici sopra
Io uso normalmente il PHP con i cookies,  abbinati con l'autentificazione
tramite database(MySql o PostGres).
Se non ho capito male il problema e' quello di forzare un logout, cosa che
con i cookies e' semplice, basta settare il cookie con un valore nullo

esempio del mio file logout.php:

<?
setcookie("login_utente","");   // azzero il valore del login
setcookie("pword","");		// azzero la password
header("location: index.php");  // rimando alla pagina di login
?>

a questo punto puoi gestire una nuova autentificazione.

> sapete mica dove posso trovare un handler (preferibilmente in perl)
> compatibile con l'autenticazione basic dell'apache?

Il perl mi rimane ostico.... se per te il PHP fa lo stesso, sul manuale ho
trovato questo:


Esempio 17-1. Esempio di Autenticazione HTTP


<?php
  if (!isset($PHP_AUTH_USER)) {
    Header("WWW-Authenticate: Basic realm=\"Il mio Regno\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "Messaggio da inviare se si preme il tasto Cancel\n";
    exit;
  } else {
    echo "<p>Ciao $PHP_AUTH_USER.</p>";
    echo "<p>Hai inserito $PHP_AUTH_PW come tua password.</p>";
  }
?>

guarda un po' se ti puo' servire anche questo (sempre dal manuale,grande
ausilio per me...)

.....

Esempio 17-2. Esempio di Autenticazione HTTP che impone l'inserimento di
nuovo username/password


<?php
  function authenticate() {
    Header( "WWW-Authenticate: Basic realm=\"Prova del Sistema di
Autenticazione\"");
    Header( "HTTP/1.0 401 Unauthorized");
    echo "Per poter accedere a questa risorsa occorre inserire una coppia
login e password valide\n";
    exit;
  }

  if (!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth,
$PHP_AUTH_USER))) {
   authenticate();
  }
  else {
   echo "<p>Benvenuto: $PHP_AUTH_USER<br>";
   echo "Vecchio: $OldAuth";
   echo "<form action='$PHP_SELF' method='POST'>\n";
   echo "<input type='HIDDEN' name='SeenBefore' value='1'>\n";
   echo "<input type='HIDDEN' name='OldAuth' value='$PHP_AUTH_USER'>\n";
   echo "<input type='submit' value='Re Authenticate'>\n";
   echo "</form></p>\n";
  }
?>
....

Ciao

Claudio.







Maggiori informazioni sulla lista flug-tech