- Untuk menyelesaikan masalah keamanan web lama berupa "kebocoran riwayat kunjungan pengguna" melalui styling tautan
:visited, fitur baru diperkenalkan
- Mulai Chrome 136, struktur ini ditingkatkan agar serangan tersebut dapat diblokir dari akarnya dengan "penyimpanan terpartisi (partitioning)" untuk riwayat
:visited
- Fitur untuk membedakan secara visual tautan yang sudah dikunjungi tetap dipertahankan, sambil dirancang agar tidak bisa disalahgunakan oleh situs lain
Penjelasan cara kerja penyimpanan terpartisi tautan :visited
- Pada metode sebelumnya, saat sebuah tautan diklik, tautan itu akan tampil dalam status
:visited di situs mana pun
- Ini merupakan cacat keamanan dalam desain yang memungkinkan situs berbahaya melacak riwayat kunjungan pengguna
- Contoh: setelah mengklik tautan Site-B di Site-A, jika tautan yang sama juga ada di Site-Evil, maka Site-B akan ditampilkan sebagai
:visited sehingga status kunjungan pengguna bisa diketahui
- Dalam struktur baru, riwayat kunjungan disimpan hanya sebagai kombinasi "situs A + tujuan tautan B"
- Artinya, di Site-Evil tautan itu tidak akan ditampilkan sebagai
:visited karena pengguna tidak mengklik tautan tersebut di sana
- Hasilnya, riwayat kunjungan tidak lagi disimpan secara global, melainkan dipisahkan berdasarkan "URL tautan + situs tingkat atas + asal frame"
Cara penanganan tautan dalam situs yang sama
- Misalkan seorang pengguna yang sedang meneliti jenis logam mengklik halaman chrome dan brass di
site.wiki dari metals.com
- Setelah itu, saat mengunjungi halaman gold di
site.wiki, tautan chrome dan brass tidak akan ditampilkan sebagai :visited karena konteks kliknya berbeda
- Untuk memperbaiki hal ini, pengecualian
self-links diperkenalkan
- Tautan ke subhalaman dalam situs yang sama akan ditampilkan sebagai
:visited meskipun tidak diklik dalam konteks yang sama
- Ini diizinkan karena situs tersebut pada dasarnya sudah bisa melacak riwayat kunjungan pengguna di dalam situsnya sendiri, sehingga dianggap tidak menambah kebocoran informasi
- Namun, pengecualian ini tidak berlaku untuk situs pihak ketiga atau tautan pihak ketiga di dalam iframe
Status penerapan fitur
1 komentar
Di GeekNews kami juga sempat ingin memanfaatkan
:visited, tetapi karena alasan keamanan hampir tidak ada yang bisa dilakukan, jadi akhirnya kami menyerah.Kalau semua ini nanti diterapkan, mungkin styling yang beragam jadi memungkinkan.