(Bagaimana) Bisakah situs web menentukan apakah Penjelajahan Pribadi Safari dihidupkan?

11

Di Safari on Mavericks, saya terkadang mendapatkan dialog dari situs web yang menunjukkan bahwa beberapa fungsi situs akan diblokir atau terdegradasi kecuali saya mematikan mode Penjelajahan Pribadi. Sebagian besar pengguna mungkin mengharapkan pilihan mereka apakah akan menggunakan Penjelajahan Pribadi menjadi pribadi. Kesan saya adalah bahwa peramban utama lainnya tidak membocorkan status Penjelajahan Pribadi ke situs web.

Saya perhatikan bahwa ketika dalam mode Penjelajahan pribadi, Safari tidak akan meminta favicon, jadi secara teori situs dapat memblokir caching favicon dan membuat perkiraan yang cukup bagus bahwa Penjelajahan Pribadi diaktifkan.

Sebaliknya, di iOS, Safari tidak meminta favicons sama sekali. Tetapi itu akan, bahkan dalam mode Penjelajahan Pribadi, meminta "ikon sentuhan apel" apa pun jika Anda mengakses panel Berbagi (ikon sentuhan apel digunakan sebagai ikon Layar Beranda jika Anda selanjutnya "Tambahkan ke Layar Beranda" untuk itu URL).

Selain favicon, apakah ada cara lain yang diketahui bahwa situs web dapat menentukan (atau menebak dengan akurasi yang masuk akal) bahwa Anda menggunakan mode Penjelajahan Pribadi di desktop Safari?

pseudon
sumber
Bisakah Anda memberikan contoh situs web?
sayzlim
mis. video.pbs.org "Telah terjadi kesalahan. Untuk pengalaman terbaik dengan situs web ini, silakan periksa apakah Penjelajahan Pribadi dinonaktifkan."
pseudon
Ada kemungkinan bahwa situs web tidak menggunakan beberapa faktor lain, seperti DNT = 1 atau beberapa pemblokiran pelacak. Jika itu masalahnya, pesan kesalahan itu menyesatkan. Tapi saya mendapatkan sesuatu yang serupa di situs lain.
pseudon
1
Saya baru saja menguji DNT dan memblokir ekstensi dan itu tampaknya tidak menjadi faktor. Dalam mode Penjelajahan Pribadi dengan semua ekstensi tidak aktif dan DNT tidak disetel, saya masih mendapatkan dialog kesalahan. Tetapi dengan Penjelajahan Pribadi dinonaktifkan dan DNT = 1 dan ekstensi (pemblokiran) aktif, saya tidak mendapatkan kesalahan.
pseudon
Mengapa Anda tidak ingin situs mengetahui bahwa Anda berada dalam mode privasi? Aplikasi berbasis web kami akan sepenuhnya tidak berfungsi dalam konfigurasi itu karena kami sangat bergantung pada indexeddb, appcache, penyimpanan lokal, pekerja web, dan berbagai fitur HTML5 lainnya yang sama sekali tidak tersedia ketika dalam mode privasi. Jadi, apa yang Anda minta adalah cara agar kami tidak memberi tahu pengguna kami bahwa mereka telah mengkonfigurasi browser mereka sehingga aplikasi web kami tidak berfungsi. Apa gunanya itu? (Jika Anda tidak mengerti mengapa ini tidak masuk akal, santai saja. Anda tidak dirugikan oleh
pengetahuan

Jawaban:

14

Di iOS, penyimpanan lokal HTML5 tidak tersedia dalam mode penelusuran pribadi, yang berarti Anda dapat mendeteksinya dengan mencoba menyimpan sesuatu ke penyimpanan lokal dan menangkap pengecualian dengan JavaScript berikut:

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

Dimodifikasi dari /programming//a/17741714/

Pada OS X, sebenarnya tidak ada metode kanonik, tetapi ini harus memberikan beberapa informasi yang berguna:

Jika Anda mencari panduan implementasi, Anda sebaiknya mencoba Stack Overflow

GRG
sumber
Terima kasih. Saya tertarik pada implementasi sisi server hanya sejauh itu membantu saya dengan pertahanan melawan seni gelap;)
pseudon
2
Waspadalah terhadap positif palsu - cuplikan JavaScript yang disediakan juga akan menampilkan lansiran dalam mode non-pribadi jika loker penyimpanan lokal untuk asal itu penuh.
Mathias Bynens
4

Penjelajahan Pribadi Safari tidak berfungsi dengan cara yang sama dengan Penjelajahan Pribadi peramban lainnya .

Misalnya, Mode Penyamaran Chrome membuat sesi baru yang terpisah sehingga semua data akan dihapus setelah sesi penelusuran (situs web masih dapat melacak tindakan Anda dari alamat IP dalam mode itu).

Saat Safari melarang situs web membuat / menulis file secara lokal, buang semua perubahan yang dilakukan pada cookie, termasuk aktivitas Anda di browser selama sesi penelusuran ini (situs web masih dapat melacak aktivitas Anda dalam mode ini, kecuali bahwa cookie yang disimpan di sesi ini akan dibuang).

Jadi, bagaimana situs web tahu jika Anda telah mengaktifkan Penjelajahan Pribadi? Karena memeriksa apakah dapat menulis file secara lokal .

sayzlim
sumber
Safari mengizinkan cookie dalam sesi Penjelajahan Pribadi, bukan? Saya dapat masuk ke situs web saat di Penjelajahan Pribadi dan melakukan semua yang biasa saya lakukan, dan tidak menemukan batasan, kecuali dalam kasus yang jarang terjadi di mana saya mendapatkan dialog seperti ini.
pseudon
Ya, sedikit memodifikasi jawaban saya. Maksud saya cookie Anda selama sesi ini tidak disimpan setelah Penjelajahan Pribadi dimatikan.
sayzlim