Rumah >hujung hadapan web >tutorial css >Cap jari berasaskan CSS

Cap jari berasaskan CSS

Lisa Kudrow
Lisa Kudrowasal
2025-03-16 09:31:111011semak imbas

Cap jari berasaskan CSS

Teknologi pengenalan cap jari laman web membimbangkan. Ia merujuk kepada mengumpul metadata pengguna yang cukup untuk mengenal pasti pengguna. JavaScript menyediakan pelbagai kemungkinan pengiktirafan cap jari, digabungkan dengan alamat IP yang diakses oleh pelayan, menjadikan pengenalan cap jari sangat biasa.

Walau bagaimanapun, orang umumnya tidak memikirkan CSS sebagai medium untuk cap jari, jadi ia dianggap sebagai "selamat" sedikit sebanyak. Walau bagaimanapun, Oliver Brotchie mencadangkan penyelesaian untuk menggunakan CSS hanya untuk tahap pengiktirafan cap jari tertentu.

Pertimbangkan semua pertanyaan @media yang kami ada. Kita boleh menggunakan any-pointer untuk menguji jenis penunjuk. Bayangkan bahawa untuk setiap nilai kami meminta imej latar belakang yang unik dari pelayan. Jika imej diminta, kami tahu bahawa pertanyaan @media ini adalah benar. Kita boleh memulakan cap jari menggunakan kaedah seperti ini:

 .pointer {
  Imej Latar Belakang: URL ('/unik-id/penunjuk = tiada')
}

@media (mana-mana penunjuk: kasar) {
  .pointer {
    Imej Latar Belakang: URL ('/unik-id/penunjuk = kasar')
  }
}

@media (mana-mana penunjuk: baik) {
  .pointer {
    Imej Latar Belakang: URL ('/unik-id/penunjuk = baik')
  }
}

Digabungkan dengan hakikat bahawa kita boleh menggunakan prefers-color-scheme untuk menguji keutamaan mod gelap, pengiktirafan cap jari lebih jelas. Malah, apa yang paling penting Oliver adalah draf pertanyaan media keutamaan pengguna CSS semasa:

Draf yang akan datang bukan sahaja menjadikan pendekatan ini berskala, tetapi juga meningkatkan ketepatannya. Pada masa ini, tanpa kaedah lain, sukar untuk akhirnya mengaitkan setiap permintaan dengan pelawat tertentu, kerana satu -satunya cara yang sesuai untuk menentukan asalnya adalah untuk mengumpulkan permintaan oleh alamat IP sambungan. Walau bagaimanapun, dengan menggunakan draf baru, kami dapat mengenal pasti semua permintaan dari pengunjung dengan tepat dengan menghasilkan rentetan rawak dan memasukkannya ke dalam tag URL setiap pelawat.

Terdapat lebih banyak cara untuk melakukannya. Kami boleh membuat pertanyaan media 1 pixel selain dan meminta imej latar belakang untuk setiap pertanyaan, dengan itu dengan sempurna meneka saiz tetingkap pelawat. Mungkin terdapat sedozen pertanyaan media ganjil yang kurang dikenali, tetapi mereka sangat berguna untuk cap jari menggunakan CSS. Menggunakan ini dengan pelbagai pertanyaan @supports memungkinkan untuk meneka penyemak imbas yang tepat dengan berkesan. Digabungkan dengan teknik klasik untuk menguji pemasangan font tempatan tertentu, anda boleh mendapatkan mesin pengenalan cap jari yang cukup baik.

 @font-face {
  font-family: 'some-font';
  src: tempatan (beberapa fon), url ('/unik-id/some-font');
}

.some-font {
  font-family: 'some-font';
}

Kod CSS yang dihasilkan sangat besar (ini adalah kod SASS yang menghasilkannya), tetapi jelas ia akan dikurangkan apabila kita boleh menggunakan sifat tersuai dalam URL.

Saya tidak terlalu bimbang tentang masalah ini, terutamanya kerana saya tidak melumpuhkan JavaScript, yang sudah mempunyai keupayaan pengiktirafan cap jari yang lebih luas. Di samping itu, terdapat kelemahan keselamatan CSS yang lain, seperti membaca pautan yang diakses (diselesaikan oleh penyemak imbas), log utama dan gaya inline yang dihasilkan oleh pengguna, dan apa yang ditunjukkan oleh orang lain dalam jawatan lain.

Walau bagaimanapun, penyelidikan Oliver mengenai pengiktirafan cap jari adalah sangat baik dan patut diberi perhatian daripada sesiapa sahaja yang tahu keselamatan siber yang lebih baik daripada yang saya lakukan.

Atas ialah kandungan terperinci Cap jari berasaskan CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Logik yang rosakArtikel seterusnya:Logik yang rosak