Seguridad
Restringir 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
// Manual de PHP
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 Lewis y la contraseña 1524, si es así tendremos acceso
al resto de la página.
<?php
// Manual de PHP
if (($PHP_AUTH_USER!="Lewis") || ($PHP_AUTH_PW!="1524")) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}
?>
<!-- Manual
de PHP -->
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
Ha conseguido
el acceso a la <B>zona restringida</B>.
</body>
</html> |
Mglnet te Recomienda estos
Productos
Aumenta tus Ingresos- Usa Google
AdSense
|