PHP Auth, la alternativa a .htaccess

Ya os comenté con anterioridad, a través del último artículo publicado sobre Task Freak! la necesidad de proteger el contenido del mismo, en tal caso usamos .htaccess, pero en ocasiones nos puede resultar más factible usar la autenticación HTTP mediante PHP. Ya sea por comodidad o por restricciones del servidor para incluir modificaciones en subdirectorios con .htaccess.

En el ejemplo, eminentemente práctico, que os muestro a continuación haremos uso de las directivas de PHP, PHP_AUTH_USER y PHP_AUTH_PW, suficientes para nuestro marco de trabajo. Podéis encontrar las especificaciones al completo y ejemplos de estas en php.net.

En primer lugar, editarmos el fichero secure.php con la siguiente información, descriptiva por sí misma:

<?php
$users = array(
'ahornero' => 'contraseña en MD5'
);


if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Linux Hispano"');
exit('Esta página requiere autenticación');
}

if (!isset($users[$_SERVER['PHP_AUTH_USER']])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Linux Hispano"');
exit('Acceso denegado');
}

if ($users[$_SERVER['PHP_AUTH_USER']] != md5($_SERVER['PHP_AUTH_PW']))
{
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Linux Hispano"');
exit('Acceso denegado');
}
?>

Y simplemente nos bastará con incluirlo en los ficheros que deseemos proteger:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
[...]

Acerca de Alberto Hornero Luque

Contínuamente relacionado con el procesamiento de imágenes y el análisis numérico, se encuentra actualmente trabajando como Ingeniero Técnico en el laboratorio de Métodos Cuantitativos de Teledetección del CSIC.  Administrador del portal Linux Hispano y cofundador de Red de Autores y Geometrio, centra sus intereses en tecnologías abiertas, desarrollos en la nube y GNU/Linux. Es un apasionado de la fotografía y puedes seguir sus updates en @ahornero y LinkedIn.

1 Comentario:

  1. Pingback: Enlaces del 29-10-09 | evelio.info

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.