[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