Pregunta

Tengo un sitio PHP que utiliza un esquema de autenticación bastante común.

  • Toda la zona de inicio de sesión requiere SSL.
  • Un usuario introduce su nombre de usuario y PW, si coinciden con el PP, se ha iniciado una sesión y un valor establecido para ellos.
  • Si tratan de visitar una página que requiere autenticación, se comprueba para ver si ese valor está presente en la sesión, y los reenvía a la página de inicio de sesión si no lo es.

Siempre conseguir unas cuantas personas que tienen problemas para autenticarte en porque no están configurados para utilizar cookies de sesión, o que tienen problemas con la memoria caché stroring la página hacia adelante, etc.

Sin embargo, últimamente hemos tenido una gran cantidad de personas con IE que no se puede iniciar sesión. La fijación de sus configuraciones de cookies de sesión y borrar la memoria caché no ayudan, sino que pueden iniciar sesión si utilizan Firefox / Opera en el mismo equipo. Estoy bastante seguro de que es un problema con IE, y no cualquier otra cosa.

¿Alguien sabe de cualquier cambio reciente en el IE 7 que afectaría a las cookies de sesión?

Actualización:

Me implementó recientemente un session_regenerate_id () llame inmediatamente después de inicio de sesión, como en la actualidad hay algunas circunstancias en las que un usuario puede tener una sesión existente que se utilizará, pero eso fue hace bastante tiempo.

¿Fue útil?

Solución

Mi primer paso sería encontrar un usuario que puede iniciar sesión con Firefox y no IE, y luego ejecutar violinista en contra de ambos para ver las diferencias en los pares de petición HTTP / respuesta para el proceso de inicio de sesión. Eso debería, al menos, le dará una mejor idea de dónde buscar.

Otros consejos

Si la configuración de seguridad de IE se manipuló (que es común sobre todo en entornos corporativos), o si la página que estás iniciar sesión en está en un marco o iframe, que podría ser lo que se mantiene la cookie de ahorro. Todo lo que necesita hacer es establecer cabeceras HTTP de política P3P, si ese es el caso. Esta es la mejor descripción que he podido encontrar sobre la manera de ponerlas en práctica.

No he oído nada. Sin embargo, esto es precisamente por eso que me pasa a usar sesiones sin cookies en todos mis proyectos públicos. Creo ASP.Net ha construido en este, pero yo prefiero usar mis propias implementaciones. Pase de parámetros de cadena de consulta SessionID de página en página y, o bien atándolo a un registro de base de datos o algún otro almacén de datos es mucho más fiable.

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