24/4/2014
ENI Training - Libro online
La utilización de un campo de tipo
password permite
ocultar los datos introducidos de la contraseña.
Si los datos introducidos no son correctos, la página se vuelven a proponer. De lo contrario, se muestra una página de inicio.
Autenticación HTTP Mediante la función header, es posible hacer que el navegador muestre un cuadro de diálogo que invite al usuario a que introduzca un nombre y una contraseña. El mensaje de encabezado a enviar es: WWW-Authenticate: Basic realm="xxxxx"
xxxxx = nombre
que se muestra (nombre de la organización, por ejemplo)
Si el usuario hace clic en el botón OK, el script se llama de nuevo con los valores introducidos disponibles en las variables predefinidas: $PHP_AUTH_USER y $PHP_AUTH_PW accesibles en la matriz asociativa $_SERVER. Ejemplo (script login.php con esta técnica) <?php // Inclusión del archivo que contiene las funciones generales. include(’funciones.inc’); // Función que verifica que las credenciales de identificación introducidas // son correctas. function usuario_existe($identificador,$contraseña) { // Aleatoria, esperando algo mejor ... return (bool) rand(0,1); } // Función que muestra la autenticación HTTP. function autenticación($mensaje) { header("WWW-Authenticate: Basic realm=\"$mensaje\""); // Si el usuario hace clic en el botón cancelar, // se ejecutan las líneas siguientes (de lo contrario, el script se // llama de nuevo, pero con $PHP_AUTH_USER rellenado // y el script no pasará ya por aquí). // Mostrar un mensaje y proponer al usuario // volver a intentarlo. echo ’Debe introducir un nombre y una contraseña ’, ’para acceder al sitio.<br />’; echo ’<a href="login.php">Volver a intentarlo</a>’; exit; } if (! isset($_SERVER[’PHP_AUTH_USER’])) { // Ninguna variable $PHP_AUTH_USER = primera llamada del script. // Solicitud de identificación. authentification(’MiSitio.com’); } else { // Variable $PHP_AUTH_USER existe = llamada después de entrada. // Recuperar la información introducida. http://www.eni-training.com/client_net/mediabook.aspx?idR=85162
www.FreeLibros.me
3/6