cortesi Tue Dec 18 11:18:17 2001 EDT
Modified files:
/phpdoc/it/features http-auth.xml
Log:
update with CDATA
Index: phpdoc/it/features/http-auth.xml
diff -u phpdoc/it/features/http-auth.xml:1.8 phpdoc/it/features/http-auth.xml:1.9
--- phpdoc/it/features/http-auth.xml:1.8 Wed Dec 12 15:51:45 2001
+++ phpdoc/it/features/http-auth.xml Tue Dec 18 11:18:17 2001
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.11 Maintainer: cortesi Status: ready -->
-
+<!-- EN-Revision: 1.19 Maintainer: cortesi Status: ready -->
<chapter id="features.http-auth">
<title>Autenticazione HTTP usando PHP</title>
@@ -11,7 +10,7 @@
funzione <function>header</function> per inviare un messaggio di "Authentication
Required"
al browser dell'utente, provocando quindi l'apertura di una finestra contenente
una richiesta di
Nome utente/Password. Una volta che l'utente ha compilato i campi nome utente e
password,
- l'URL contenente lo script PHP verrà richiamato nuovamente usando le
variabili,
+ l'URL contenente lo script PHP verrà richiamato nuovamente usando le variabili,
$PHP_AUTH_USER, $PHP_AUTH_PW e $PHP_AUTH_TYPE impostate con, rispettivamente:
nome, password e tipo di autenticazione. Solamente il tipo di autenticazione
"Basic"
è al momento supportato. Fare riferimento alla funzione
<function>header</function>
@@ -24,17 +23,19 @@
<example>
<title>Esempio di Autenticazione HTTP</title>
<programlisting role="php">
-<?php
+<![CDATA[
+<?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";
+ 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 "Ciao $PHP_AUTH_USER.<P>";
- echo "Hai inserito $PHP_AUTH_PW come tua password.<P>";
+ echo "<p>Ciao $PHP_AUTH_USER.</p>";
+ echo "<p>Hai inserito $PHP_AUTH_PW come tua password.</p>";
}
?>
+]]>
</programlisting>
</example></para>
@@ -42,7 +43,7 @@
<title>Note</title>
<para>
Fare molta attenzione quando si scrive codice per le intestazioni HTTP. Per
ottenere la massima
- compatibilità con tutti i client, la paorla-chiave "Basic" deve essere
scritta con una
+ compatibilità con tutti i client, la paorla-chiave "Basic" deve essere scritta
+con una
"B" maiuscola, la stringa realm deve essere racchiusa in virgolette doppie (non
singole),
ed esattamente uno spazio deve precedere il codice "401" nella linea di
intestazione "HTTP/1.0 401".
</para>
@@ -50,7 +51,7 @@
<para>
Invece di stampare semplicemente $PHP_AUTH_USER e
- $PHP_AUTH_PW, probabilmente si vorrà controllare la validità dello
username e
+ $PHP_AUTH_PW, probabilmente si vorrà controllare la validità dello username e
della password. Probabilemnte inviando una chiamata al database,
o cercando un utente in un file dbm.</para>
@@ -76,12 +77,12 @@
per determinare se viene utilizzata l'autenticazione esterna.
Evitare questa direttiva nel contesto dove si intende
usare l'autenticazione con PHP (altrimenti ogni tentativo di autenticazione
- fallirà).
+ fallirà).
</para>
</note>
<simpara>
- Si fa notare, però, che quanto scritto sopra non impedisce a qualcuno che
+ Si fa notare, però, che quanto scritto sopra non impedisce a qualcuno che
controlla un URL non autenticato di sottrarre password da
URL autenticati presenti sullo stesso server.</simpara>
<simpara>
@@ -94,27 +95,29 @@
<example>
<title>Esempio di Autenticazione HTTP che impone l'inserimento di nuovo
username/password</title>
<programlisting role="php">
-<?php
+<![CDATA[
+<?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";
+ 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)) ) {
+ if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth,
+$PHP_AUTH_USER)) ) {
authenticate();
}
else {
- echo "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>\n";
+ 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";
}
?>
+]]>
</programlisting>
</example>
<simpara>
@@ -122,7 +125,7 @@
Basic, quindi non si dovrebbe mai fare affidamento su di esso. Test effettuati con
Lynx
mostrano che Lynx non cancella le credenziali di autenticazione
al ricevimento del codice di risposta 401 da parte del server, quindi, premendo
indietro e avanti
- nuovamente, darà nuovamente accesso alla risorsa, ammesso che le rispettive
richieste di credenziali
+ nuovamente, darà nuovamente accesso alla risorsa, ammesso che le rispettive
+richieste di credenziali
non siano cambiate. L'utente può però premere il
tasto '_' al fine di cancellare le sue informazioni di autenticazione.
</simpara>
@@ -144,7 +147,7 @@
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
-sgml-default-dtd-file:"../manual.ced"
+sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil