(¿Cómo) puede un sitio web determinar si la navegación privada de Safari está activada?

10

En Safari en Mavericks, a veces obtengo un diálogo de sitios web que indica que algunas funciones del sitio se bloquearán o degradarán a menos que desactive el modo de navegación privada. La mayoría de los usuarios probablemente esperan que su elección de utilizar la navegación privada sea privada. Mi impresión es que otros navegadores importantes no filtran el estado de navegación privada a los sitios web.

Me he dado cuenta de que, mientras está en modo de navegación privada, Safari no solicitará favicons, por lo que, en teoría, un sitio podría bloquear el almacenamiento en caché del favicon y hacer una buena suposición de que la navegación privada está activada.

En contraste, en iOS, Safari no solicita favicons en absoluto. Pero, incluso en el modo de navegación privada, solicitará cualquier "icono de Apple Touch" si accede al panel Compartir (el icono de Apple Touch se utiliza como icono de la pantalla de inicio si posteriormente "Agregar a la pantalla de inicio" para eso URL).

Además del favicon, ¿existen otras formas conocidas en que un sitio web podría determinar (o adivinar con una precisión razonable) que está utilizando el modo de navegación privada en el escritorio de Safari?

    
pregunta pseudon 22.05.2014 - 20:53

2 respuestas

14

En iOS, el almacenamiento local de HTML5 no está disponible en el modo de navegación privada, lo que significa que puede detectarlo intentando guardar algo en el almacenamiento local y detectando la excepción con el siguiente JavaScript:

try { localStorage.test = 2; } catch (e) {
  alert('You are in Private Browsing mode');
}

Modificado de enlace

En OS X, no hay realmente un método canónico, pero esto debería proporcionar alguna información útil:

Si está buscando una guía de implementación, probablemente debería probar el Desbordamiento de pila en su lugar

    
respondido por el grg 22.05.2014 - 21:13
4

La navegación privada de Safari no funciona de la misma manera que el otro navegador Navegación privada .

Por ejemplo, el Modo incógnito de Chrome crea una nueva sesión por separado en la que se eliminarán todos los datos después de la sesión de navegación (el sitio web aún puede rastrear sus acciones desde la dirección IP en ese modo).

Mientras Safari prohíbe que el sitio web cree / escriba un archivo localmente, descarte todos los cambios realizados en las cookies, incluidas sus actividades en el navegador durante esta sesión de navegación (el sitio web aún puede rastrear su actividad en este modo, excepto que almacenaron cookies en esta sesión será descartada).

Entonces, ¿cómo sabe un sitio web si ha activado la navegación privada? Porque comprueba si puede escribir archivos localmente .

    
respondido por el sayzlim 22.05.2014 - 21:15

Lea otras preguntas en las etiquetas