rafael Thu May 30 12:27:22 2002 EDT
Modified files:
/phpdoc-es/features http-auth.xml
Log:
Translation updated to PHP 4.x
Index: phpdoc-es/features/http-auth.xml
diff -u phpdoc-es/features/http-auth.xml:1.7 phpdoc-es/features/http-auth.xml:1.8
--- phpdoc-es/features/http-auth.xml:1.7 Wed Dec 12 15:47:53 2001
+++ phpdoc-es/features/http-auth.xml Thu May 30 12:27:22 2002
@@ -16,34 +16,49 @@
rellenas con el nombre de usuario, la contraseña y el tipo de
autentificación respectivamente. Sólo autentificación
"Básica"
esta soportada en este momento. Consulte la función
- <function>header</function> para más información.</simpara>
<para>
+ <function>header</function> para más información.</simpara>
+
+ <para>
Un fragmento de script de ejmplo que fuerce la autentificación del
cliente en una página sería como el siguiente:
<example>
<title>Ejemplo de autentificación HTTP</title>
- <programlisting role="php">
-<?php
- if(!isset($PHP_AUTH_USER)) {
- Header("WWW-Autentificación: Basic realm=\"Mi
Reino\"");
- Header("HTTP/1.0 401 No autorizado");
- echo "Texto a enviar si pulsa el botón Cancelar\n";
+ <programlisting role="php">
+<![CDATA[
+<?php
+ if (!isset($PHP_AUTH_USER)) {
+ header("WWW-Authenticate: Basic realm=\"My Realm\"");
+ header("HTTP/1.0 401 Unauthorized");
+ echo "Text to send if user hits Cancel button\n";
exit;
- } else {
- echo "Hola $PHP_AUTH_USER.<P>";
- echo "Ha introducido $PHP_AUTH_PW como su contraseña.<P>";
- }
- ?>
- </programlisting>
+ } else {
+ echo "<p>Hello $PHP_AUTH_USER.</p>";
+ echo "<p>You entered $PHP_AUTH_PW as your password.</p>";
+ }
+?>
+]]>
+ </programlisting>
</example></para>
+ <note>
+ <title>Nota</title>
+ <para>
+ Por favor tener cuidado cuando esteis programando las lines de cabecera HTTP.
+ Para garantizar la maxima compatibilidad con todos los clientes, la palabra
+ clave "Basic" debe de ser escrita con "B" mayúscula,
+la cadena
+ de texto debe estar incluida entre comillas dobles (no simples) y un espacio debe
+ preceder el código "401" en la linea de cabecera "HTTP/1.0
+401"
+ </para>
+ </note>
<para>
En vez de, sencillamente, mostrar $PHP_AUTH_USER y
- $PHP_AUTH_PW, seguramente quiera comprobar la validez del nombre
+ $PHP_AUTH_PW, seguramente querais comprobar la validez del nombre
de usuario y la contraseña. Tal vez enviando una consulta a una
- base de datos o buscando el usuario en un fichero dbm.</para>
+ base de datos o buscando el usuario en un fichero dbm.
+ </para>
<para>
- Vigile aquí los navegadores Interner Explorer con bugs. Parecen muy
+ Vigilar aquí los navegadores Interner Explorer con bugs. Parecen muy
quisquillosos con el orden de las cabeceras. Enviar la cabecera
<emphasis>WWW-Autentificación</emphasis> antes que la cabecera
<errorcode>HTTP/1.0 401</errorcode> parece ser el truco por ahora.</para>
@@ -55,12 +70,24 @@
serán rellenadas si algún tipo de autentificación externo ha
sido
activado para una página en particular. En este caso, la variable
$REMOTE_USER puede ser usada para identificar al usuario
- autentificado externamente.</simpara>
+ autentificado externamente.
+ </simpara>
+
+ <note>
+ <title>Configuration Note</title>
+ <para>
+ PHP usa la directiva <literal>AuthType</literal> para determinar
+ si una autentificación externa esta en uso. Recordar no usar esta
+ directiva cuando querais usar la autentificación de PHP (si no
+ todo intentento de autentificación fallará)
+ </para>
+ </note>
<simpara>
Nota, a pesar de todo, lo ya dicho no proteje de que alguien que
controle una URL no autentificada robe contraseñas de URLs
- autentificadas en el mismo servidor.</simpara>
+ autentificadas en el mismo servidor.
+ </simpara>
<simpara>
Tanto Netscape como Internet Explorer borrarán la caché de la
@@ -68,49 +95,52 @@
recibir una respuesta 401 del servidor. Esto puede usarse, de
forma efectiva, para "desconectar" a un usuario, forzandole a
reintroducir su nombre y contraseña. Algunas personas usan esto
- para "hacer caducar" entradas, o para proveer un botón de
+ para "hacer caducar" entradas, o para proveer un botón de
"desconectar".</simpara>
<simpara></simpara>
<example>
<title>Ejemplo de autentificación HTTP forzando una
reentrada</title>
-
- <programlisting role="php">
-<?php
+ <programlisting role="php">
+<![CDATA[
+<?php
function authenticate() {
- Header( "WWW-Authenticate: Basic realm=\"Test Autentificación
Sistema\"");
- Header( "HTTP/1.0 401 No autorizado");
- echo "Debe introducir un nombre de usuario y contraseña válidos
para acceder a
- este recurso\n";
- exit;
+ header( "WWW-Authenticate: Basic realm=\"Test Authentication System\"");
+ header( "HTTP/1.0 401 Unauthorized");
+ echo "You must enter a valid login ID and password to access this resource\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 "Bienvenido: $PHP_AUTH_USER<BR>";
- echo "Old: $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>Welcome: $PHP_AUTH_USER<br>";
+ echo "Old: $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>
Este comportamiento no es requerido por el estándar de
autentificación
básica de HTTP, por lo que nunca debe depender de esto. Pruebas
con Lynx han demostrado que Lynx no borra las credenciales de
autentificación con una respuesta 401 del servidor, por lo que
pulsando atrás y después adelante abriría el recurso de nuevo
- (siempre que los requerimientos de contraseña no hayan cambiado). </simpara>
+ (siempre que los requerimientos de contraseña no hayan cambiado).
+ </simpara>
<simpara>
- Además note que esto no funciona usando el servidor IIS de Microsoft
- y la versión CGI de PHP debido a una limitación del IIS</simpara>
+ Además tener en cuanta que esto no funciona usando el servidor IIS de
+Microsoft
+ y la versión CGI de PHP debido a una limitación del IIS
+ </simpara>
</chapter>
@@ -130,4 +160,7 @@
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
-->