(Come) Un sito Web può determinare se la navigazione privata di Safari è attivata?

10

In Safari su Mavericks, a volte ricevo una finestra di dialogo da siti Web che indicano che alcune funzioni del sito verranno bloccate o degradate a meno che non disattivi la modalità di navigazione privata. La maggior parte degli utenti si aspetta che scelga se utilizzare la navigazione privata come privata. La mia impressione è che altri browser importanti non perdano lo stato di navigazione privata sui siti web.

Ho notato che, mentre nella modalità di navigazione privata, Safari non richiede le favicon, quindi in teoria un sito potrebbe bloccare il caching della favicon e fare una buona impressione che la navigazione privata sia attiva.

Al contrario, su iOS, Safari non richiede affatto le favicon. Ma, anche in modalità di navigazione privata, verrà richiesta una qualsiasi "icona di tocco della mela" se si accede al pannello Condivisione (l'icona di tocco della mela viene utilizzata come icona della schermata iniziale se successivamente "Aggiungi alla schermata principale" per URL).

Oltre alla favicon, ci sono altri modi noti con cui un sito web può determinare (o indovinare con ragionevole accuratezza) che stai utilizzando la modalità di navigazione privata in Safari desktop?

    
posta pseudon 22.05.2014 - 20:53
fonte

2 risposte

14

Su iOS, la memoria locale di HTML5 non è disponibile in modalità di navigazione privata, il che significa che puoi rilevarla tentando di salvare qualcosa sulla memoria locale e catturando l'eccezione con il seguente JavaScript:

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

Modificato da link

Su OS X, non c'è davvero un metodo canonico, ma questo dovrebbe fornire alcune informazioni utili:

Se stai cercando una guida all'implementazione, probabilmente dovresti provare Stack Overflow invece

    
risposta data 22.05.2014 - 21:13
fonte
4

La navigazione privata di Safari non funziona come l'altro browser Navigazione privata .

Ad esempio, la modalità di navigazione in incognito di Chrome crea una nuova sessione separata che tutti i dati verranno eliminati dopo la sessione di navigazione (il sito Web può ancora tracciare le tue azioni dall'indirizzo IP in quella modalità).

Mentre Safari proibisce al sito web di creare / scrivere un file localmente, elimina tutte le modifiche apportate ai cookie, incluse le attività nel browser durante questa sessione di navigazione (il sito Web può ancora tracciare la tua attività in questa modalità, tranne che ha memorizzato i cookie in questa sessione verrà scartata).

Quindi, come fa un sito Web a sapere se hai attivato la navigazione privata? Perché controlla se può scrivere file localmente .

    
risposta data 22.05.2014 - 21:15
fonte

Leggi altre domande sui tag