Maison >interface Web >js tutoriel >Comment Facebook a-t-il désactivé les outils de développement du navigateur malgré les limitations côté client ?

Comment Facebook a-t-il désactivé les outils de développement du navigateur malgré les limitations côté client ?

DDD
DDDoriginal
2024-11-15 07:52:02156parcourir

How Did Facebook Disable Browser Developer Tools Despite Client-Side Limitations?

Méthode ingénieuse de Facebook pour désactiver les outils de développement du navigateur

À la suite des récentes escroqueries sur les réseaux sociaux, Facebook a mis en place un mécanisme de défense sophistiqué pour protéger utilisateurs contre les activités malveillantes. Dans le cadre de cette protection, la plateforme a désactivé les outils de développement intégrés au navigateur, empêchant les attaquants de les exploiter.

Un article de Stack Overflow affirmait l'impossibilité de bloquer les outils de développement côté client. Cependant, Facebook a défié cette affirmation avec une solution innovante.

Comment Facebook a désactivé les outils de développement

La clé de l'approche de Facebook réside dans le recours de Chrome à une fonction wrapper appelée console._commandLineAPI. Ce wrapper contient tout le code de la console, fournissant un point d'interception potentiel.

Les ingénieurs de Facebook redéfinissent console._commandLineAPI pour générer une erreur lors de l'accès. Cela bloque efficacement toute tentative d’exécution de code dans la console Developer Tools. Le code suivant illustre cette solution de contournement :

Object.defineProperty(console, '_commandLineAPI',
   { get : function() { throw 'Nooo!' } })

Malgré son apparente simplicité, cette solution n'est pas infaillible. Cependant, il constitue un élément fondamental de la stratégie de défense de Facebook.

Extensions de navigateur et JavaScript côté utilisateur

Facebook reconnaît les limites inhérentes aux techniques de blocage côté client. . Leur objectif principal est de contrecarrer les attaques d'ingénierie sociale spécifiques qui incitent les utilisateurs à coller du code JavaScript malveillant dans la console.

Réponse de Chrome

Dans une tournure surprenante des événements, Chrome L'équipe a classé la possibilité de désactiver la console à partir de JavaScript côté utilisateur comme un bug et a résolu le problème. Cette action a rendu la technique initiale de Facebook inefficace.

Protection supplémentaire

Reconnaissant la vulnérabilité introduite par le correctif Chrome, Facebook a mis en œuvre des protections supplémentaires pour protéger les utilisateurs contre les attaques self-xss. Ces mesures renforcent encore la résilience de la plateforme contre les activités malveillantes.

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:
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