2012-07-26 24 views
7

¿Podría haber una forma de establecer el archivo .htaccess para solicitar autenticación cada vez? Ejemplo: abro una pestaña del navegador, voy a la URL protegida por pw, me piden un pw. Cierre la pestaña (el navegador principal aún está abierto) y repita lo anterior y vuelva a solicitar el pw. Esto no está sucediendo a menos que cierre el navegador. Tal vez esto es una cosa de almacenamiento en caché?.htaccess solicitud de contraseña

Esto es lo que tengo hasta ahora:

AuthType Basic 
AuthName "myName" 
AuthUserFile "/home/myDir/.htpasswds/public_html/myName/passwd" 
require valid-user 

Gracias de antemano.

Respuesta

6

En realidad se está trabajando de esta manera (simplificada):

  • navegador envía una solicitud al servidor sin credenciales
  • respuestas Apache con 403 error porque "requiere valid-user" se especificó
  • indicaciones
  • navegador para el nombre de usuario & contraseña
  • navegador envía la solicitud de nuevo, esta vez se proporcionan las credenciales
  • Apache comprueba las credenciales frente a AuthUserFile y establece "valid-user" en consecuencia
  • si todo está bien - pone de datos con código de estado 200
  • navegador que recibe 200 de código cachés utilizan credenciales para el dominio correspondiente hasta la sesión del navegador expira

Como ve, el problema yace en el navegador. No puede obligar al navegador a olvidar la contraseña que usa para un dominio. Y generalmente no desea, por ejemplo, si la página protegida con contraseña contiene imágenes, el navegador requerirá nombre de usuario y contraseña para cada imagen descargada.

Sin embargo, hay algunos consejos que usted podría intentar:

  • Se puede escribir su propio manejador de autorización de Apache que sólo autoriza a los usuarios cada segundo vez que se accede a la página; pero es difícil hacer realmente
  • podría usar algún tipo de autenticación basada en formularios (en script como php o asp.net) en lugar de confiar en la autenticación http; de esta manera es bastante flexible
  • podría hacer un truco, que cada vez que se accede a una página protegida, algún tipo de script cambia la contraseña en el archivo passwd; luego proporcione dos contraseñas para cada usuario y enciéndalas en cada solicitud; de esta manera, el navegador siempre recuerda la contraseña "incorrecta"; parece una locura, pero esta es la solución más fácil que se me ocurrió :-)
Cuestiones relacionadas