Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2013, 06:33
Avatar de empardopo
empardopo
 
Fecha de Ingreso: abril-2004
Mensajes: 73
Antigüedad: 20 años, 6 meses
Puntos: 0
Protección con fichero .htaccess

Buenas.

He protegido con usuario y contraseña una carpeta en mi servidor mediante el uso del fichero .htaccess.
Digamos que la ruta es /var/www/usuario y el contenido del fichero .htaccess es el siguiente
Código:
AuthName "Solo usuarios autorizados"
AuthType Basic
require user usuario
AuthUserFile /var/www/usuario/.htpasswd
AuthGroupFile /www.null
ErrorDocument 401 /var/www/usuario/error401.php
ErrorDocument 403 /var/www/usuario/error401.php
El caso es que quiero capturar la IP y fecha en la que alguién accede. Tengo dos opciones que ponga usuario y password correctos o bien que pulsen en el botón cancelar.
Cuando pulsan en el botón cancelar (no sé si me equivoco) aparece el error 401 en el título de ahí que hay intentado controlar dicho error con la instrucción ErrorDocument.
El contenido del fichero error401.php (lo uso también para el 403) es el siguiente

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<img src="/Pictures/chuck-norris-2.jpg" width="926" height="1070" />
<?php
$ip = $_SERVER['REMOTE_ADDR']; //IP
$meses = array('enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'); //Meses
$nombre = 'logs'; //Nombre de archivo
$dia = date('d'); //Dia
$mes = date('m') - 1; //Mes
$ano = date('Y'); //Año
$hora = date('h:i:s'); //Hora
$file = fopen($nombre.'.txt', 'a+'); //Abrimos archivo
fwrite($file,  'La IP '.$ip.' accedio el '.$dia.' de '.$meses[$mes].' del '.$ano.' a las '.$hora."\r\n"); //Guardamos información
fclose($file);//Cerramos archivo
?>
</body>
</html>
Bueno, simplemente se trata de mostrar una imagen en pantalla y de que se cree un fichero de texto con la ip y la fecha. Esto último es una prueba antes de cambiarlo para que se introduzca en una base de datos (es por aprender).

El tema es que siempre obtengo el siguiente error
Cita:
Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
¿Se os ocurre que puede estar mal?

Muchas gracias por adelantado