Maison > interface Web > tutoriel CSS > Empreinte digitale basée sur CSS

Empreinte digitale basée sur CSS

Lisa Kudrow
Libérer: 2025-03-16 09:31:11
original
968 Les gens l'ont consulté

Empreinte digitale à base de CSS

Le site Web La technologie de reconnaissance des empreintes digitales est inquiétante. Il fait référence à la collecte de métadonnées utilisateur suffisantes pour identifier l'utilisateur. JavaScript offre diverses possibilités de reconnaissance d'empreintes digitales, combinées avec l'adresse IP accessible par le serveur, ce qui rend la reconnaissance des empreintes digitales très courante.

Cependant, les gens ne considèrent généralement pas le CSS comme un moyen pour les empreintes digitales, il est donc considéré comme "sûr" dans une certaine mesure. Cependant, Oliver Brotchie a proposé une solution pour utiliser CSS uniquement pour un certain degré de reconnaissance des empreintes digitales.

Considérez toutes les requêtes @media que nous avons. Nous pouvons utiliser any-pointer pour tester le type de pointeur. Imaginez que pour chaque valeur, nous demandons une image d'arrière-plan complètement unique du serveur. Si l'image est demandée, nous savons que ces requêtes @media sont vraies. Nous pouvons commencer les empreintes digitales en utilisant une méthode comme celle-ci:

 .Pointer {
  Image d'arrière-plan: URL ('/ unique-id / pointer = aucun')
}

@media (tout-point: grossier) {
  .Pointer {
    Image en arrière-plan: URL ('/ unique-id / pointer = grossier')
  }
}

@media (tout-point: très) {
  .Pointer {
    Image en arrière-plan: URL ('/ unique-id / pointer = fine')
  }
}
Copier après la connexion

Combiné avec le fait que nous pouvons utiliser prefers-color-scheme pour tester les préférences en mode obscur, la reconnaissance des empreintes digitales est plus claire. En fait, ce qui concerne le plus Oliver, c'est le projet de requête médiatique de préférence utilisateur CSS actuelle:

Le projet à venir rend non seulement cette approche évolutive, mais augmente également sa précision. Actuellement, sans d'autres méthodes, il est difficile de s'associer éventuellement à chaque demande à un visiteur spécifique, car le seul moyen viable de déterminer son origine est de regrouper les demandes par l'adresse IP de la connexion. Cependant, en utilisant le nouveau projet, nous pouvons identifier avec précision toutes les demandes de ce visiteur en générant une chaîne aléatoire et en l'insertant dans la balise URL de chaque visiteur.

Il y a plus de façons de le faire. Nous pouvons créer des requêtes multimédias à 1 pixel et demander une image d'arrière-plan pour chaque requête, devinant ainsi parfaitement la taille de la fenêtre du visiteur. Il peut y avoir une douzaine de requêtes médiatiques étranges moins connues, mais elles sont très utiles pour les empreintes digitales à l'aide de CSS. L'utilisation de cela avec diverses requêtes @supports permet de deviner efficacement le navigateur exact. Combiné avec la technique classique de tester des installations de polices locales spécifiques, vous pouvez obtenir une assez bonne machine de reconnaissance d'empreintes digitales.

 @ FONT-FACE {
  Font-Family: «Some-Font»;
  SRC: local (quelque police), url ('/ unique-id / somefont');
}

.
  Font-Family: «Some-Font»;
}
Copier après la connexion

Le code CSS généré est très grand (c'est le code SASS qui le génère), mais évidemment, il sera considérablement réduit une fois que nous pourrons utiliser des propriétés personnalisées dans l'URL.

Je ne suis pas trop inquiet de ce problème, principalement parce que je ne désactive pas JavaScript, qui a déjà une gamme plus large de capacités de reconnaissance d'empreintes digitales. De plus, il existe d'autres types de vulnérabilités de sécurité CSS, telles que la lecture des liens accédés (résolus par le navigateur), des journaux clés et des styles en ligne générés par l'utilisateur, et ce que certains ont souligné dans un autre article.

Cependant, les recherches d'Oliver sur la reconnaissance des empreintes digitales sont excellentes et méritent l'attention de toute personne qui connaît une meilleure cybersécurité que moi.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal