image
Valora:   4.39/5 de 83
Inicio » PHP » Manual de PHP » Seguridad




Restringir el acceso

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 echo "<!--990456955611635438-->"; ?>
<?php echo "<!--98652625400970538-->"; ?>
<?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>";
   }
?>


Ejecutar ejemplo Ver c�digo fuente

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 echo "<!--579093895780425089-->"; ?>
<?php echo "<!--91171481004281293-->"; ?>
<?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>

Ejecutar ejemplo Ver c�digo fuente







Comparte


Aportaciones de usuarios A�adir una aportaci�n



Enlaces
Cocina Facil IngenieroSoftware.com  
 
Valid HTML 4.01!
Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.