Pregunta

  

Duplicar posible:
   HTTP cierre de sesión de autenticación a través de PHP

Hola

Tengo una cierta funcionalidad en mi sitio web protegido mediante .htaccess y .htpasswd. Cuando los usuarios intentan acceder a esto, ellos obtienen pronta a entrar en detalles. Entran en sus detalles y entrar y pueden ver cosas etc. Todo funciona bien.

Mi pregunta es ¿cómo puedo crear una funcionalidad logout para este tipo de autenticación. Sé que pueden cerrar la ventana del navegador a "Salir". Pero esto no es lo ideal. ¿Qué le sugeriría a mí?

Gracias.

¿Fue útil?

Solución

Los navegadores por lo general no son compatibles con este tema, consulte ¿Cómo entro a cabo?

  

Dado que los navegadores empezaron   la implementación de la autenticación básica,   administradores de sitios web han querido   saber cómo hacer que la sesión del usuario.   Desde el navegador almacena en caché el nombre de usuario   y la contraseña con la autenticación   reino, como se describe anteriormente en este   tutorial, esto no es una función de   la configuración del servidor, pero es una   cuestión de conseguir que el navegador   olvidar la información de credenciales, por lo   que la próxima vez que el recurso es   solicitada, el nombre de usuario y contraseña   debe ser suministrada de nuevo. Existen   numerosas situaciones en las que esto es   deseable, tal como cuando se utiliza una   navegador en un lugar público, y no   que desean salir del navegador conectado   en, por lo que la siguiente persona puede obtener   en su cuenta bancaria.

     

Sin embargo, aunque esto es quizás el   pregunta más frecuente acerca   la autenticación básica, hasta el momento ninguno de   los principales fabricantes de navegadores tienen   visto esto como una característica deseable   poner en sus productos.

     

En consecuencia, la respuesta a esta   pregunta es, no se puede. Lo sentimos.

Hay extensiones del navegador que le permiten borrar la autenticación HTTP para un sitio. Para Firefox en el WebDeveloper extensión (que es uno de mis extensiones favourtie de todos modos) ofrece esta característica. El menú de esto es Miscellaneous/Clear Private Data/HTTP Authentication.

Otros consejos

Probado en Firefox y Chrome . Lo que puede hacer es enviar al usuario http: // cierre de sesión: logout@example.com . Esto reemplazará su actual nombre de usuario / contraseña con cierre de sesión / cierre de sesión (que podría ser cualquier usuario combinación no válida / pass) y ya que ahora tienen el mal nombre de usuario / contraseña, tendrá que volver a iniciar sesión para acceder al sitio.

En la ópera esto no funciona, porque puede tener varios nombres de usuario / contraseñas al mismo tiempo. No funcionó en IE tampoco, porque el IE no parece apoyar http: // nombre de usuario: password@example.com URLs.

Me encontré con este problema hace varios años. Es muy frustrante para descubrir que hay un problema todo el mundo tiene y nadie parece querer resolver de una manera general.

Como se señaló en funcionalidad Salir inadecuada en la autenticación HTTP Creo que la respuesta es cambiar el RFC para permitir que los tiempos de espera y apoyar un botón de cerrar la sesión. sugerencia adicional del autor de que el servidor pueda enviar un "desconectarse" de cabecera sería realmente eliminar la necesidad de cualquier Soporte de agente de usuario cliente, ya que los sitios web simplemente podrían incluir un enlace en una página web a una URL que Devuelve el código y / o el encabezado de respuesta necesaria para invalidar la sesión actual.

Es una especie de posible cerrar la sesión. Debe implementar la página de cierre de sesión, que devolverá HTTP 401, hasta que el usuario introduzca información de acceso BAD, y luego redirigir a otro lugar. El navegador recuerda la última información de acceso aceptado, y por lo tanto anula inicio de sesión correcto.

Pero esto es algo inservible, cos que necesita la cooperación del usuario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top