|
| |
| |
Restringir acceso PHP
|
| |
| Inicio > Seguridad >
Restringir acceso 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.
1.- $PHP_AUTH_USER. Nombre de usuario introducido.
2.- $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
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
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;
}
?>
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
Ha conseguido el acceso a la <B>zona
restringida</B>.
</body>
</html> |
| |
| |
|
| |
|
|
| |
|
|
| |
|
| |
|
| |