Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Restringir el acceso a un area con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Restringir el acceso a un area con PHP

En esta sección vamos a explicar cómo podemos restringir el acceso a según qué páginas, para que solo las personas autorizadas puedan acceder a ciertas partes del nuestro sitio web.


Atención: El acceso restringido a páginas usando las variables globales $PHP_AUTH_USER, $PHP_AUTH_PW y $PHP_AUTH_TYPE solo funciona si PHP ha sido instalado como un módulo de Apache, si ha sido instalado como un CGI los ejemplos de ésta sección no funcionarán.

Para conseguir la autentificación en las páginas usaremos el sistema de autentificación del protocolo HTTP, este sistema se basa en las variables globales $PHP_AUTH_USER y $PHP_AUTH_PW.

* $PHP_AUTH_USER. Nombre de usuario introducido.
* $PHP_AUTH_PW. Contraseña introducida.

Para que el navegador nos muestre la ventana de petición de nombre de usuario y contraseña basta con enviar la siguiente cabecera:
<?php // Manual de PHP de WebEstilo.com
if (!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}
else {
echo "Ha introducido el nombre de usuario: $PHP_AUTH_USER<br>";
echo "Ha introducido la contraseña: $PHP_AUTH_PW<br>";
}
?>

Esto provoca que se muestre la ventana de nombre de usuario y contraseña y los datos introducidos se asignen a las variables $PHP_AUTH_USER y $PHP_AUTH_PW.

A partir de aquí realizaremos las comprobaciones necesarias para asegurarnos que los datos introducidos son los correctos.

En el siguiente ejemplo pediremos autorización y comprobaremos si el nombre de usuario es Joe y la contraseña 123, si es así tendremos acceso al resto de la página.
<?php // Manual de PHP de WebEstilo.com
if (($PHP_AUTH_USER!="Joe") || ($PHP_AUTH_PW!="123")) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}
?>
<!-- Manual de PHP de WebEstilo.com -->
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
Ha conseguido el acceso a la <B>zona restringida</B>.
</body>
</html>




Autor: Web Estilo.com
http://www.webestilo.com/php/php11a.phtml

Usuarios que han visto este tema también han visto...

- Envío de boletines a emails de una base de datos MySQL en PHP
- Cómo comprimir a GZ un archivo con PHP
- Leer ficheros zip mediante php
- Manejo de errores en PHP
- Evitar la inyección SQL


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 26-05-2012 a las 09:44:43