{"id":1048,"date":"2026-02-25T13:00:01","date_gmt":"2026-02-25T05:00:01","guid":{"rendered":"https:\/\/www.ddosgj.com\/?p=1048"},"modified":"2026-02-25T13:00:01","modified_gmt":"2026-02-25T05:00:01","slug":"comment-social-high-defence-cdn-se-protege-t-il-contre-le-crawler-cryptage-du-contenu-et-identification-des-robots-dindexation","status":"publish","type":"post","link":"https:\/\/www.ddosgj.com\/fr\/1048-html","title":{"rendered":"Comment un CDN social \u00e0 haute d\u00e9fense emp\u00eache-t-il les robots d'explorer les donn\u00e9es ? Cryptage du contenu et identification des robots d'indexation pour emp\u00eacher l'indexation des donn\u00e9es"},"content":{"rendered":"<p>R\u00e9cemment, plusieurs amis travaillant sur des plateformes sociales se sont plaints \u00e0 moi que leurs propres dynamiques d'utilisateurs et leur contenu ont \u00e9t\u00e9 crawl\u00e9s jusqu'au fond, et que le serveur a \u00e9t\u00e9 bloqu\u00e9 par des crawlers tous les jours. Un ami a m\u00eame ri am\u00e8rement et a dit : \u201cJe lis maintenant que les journaux sont des SSPT, d\u00e8s que je vois l'agent utilisateur avec le mot Python, j'ai envie de d\u00e9brancher le c\u00e2ble du r\u00e9seau\u201d.\u201d<\/p>\n<p>Le seuil technologique des crawlers est de plus en plus bas de nos jours, il suffit d'\u00e9crire quelques lignes de script Python pour oser glaner des donn\u00e9es, sans parler de ceux qui se sp\u00e9cialisent dans le trafic de donn\u00e9es, d\u00e9pla\u00e7ant des centaines d'IP d'h\u00e9bergement en nuage \u00e0 la bombe. Aux yeux de ces personnes, le pare-feu traditionnel n'est que du papier, et l'on se fie \u00e0 une liste noire d'adresses IP pour emp\u00eacher les crawlers ? Autant esp\u00e9rer gagner \u00e0 la loterie.<\/p>\n<p>J'ai aid\u00e9 de nombreuses plateformes sociales au fil des ans \u00e0 mettre en place des solutions anti-escalade, en testant celles qui s'appuient uniquement sur la correspondance des r\u00e8gles et qui ne peuvent tout simplement pas jouer le r\u00f4le du crawler moderne. Ces crawlers avanc\u00e9s simulent d\u00e9sormais la courbe du comportement humain, la trajectoire de la souris peut vous donner une distribution normale \u00e0 cr\u00e9er, en s'appuyant sur la fr\u00e9quence des requ\u00eates pour d\u00e9terminer si le crawler ? Ne soyez pas na\u00eff.<\/p>\n<p><strong>Une strat\u00e9gie anti-escalade de CDN \u00e0 haute d\u00e9fense sociale vraiment efficace doit comporter trois niveaux de d\u00e9fense<\/strong>Le syst\u00e8me est compos\u00e9 des \u00e9l\u00e9ments suivants : le cryptage du contenu afin que les robots d'indexation ne puissent pas obtenir de donn\u00e9es efficaces, la reconnaissance comportementale pour distinguer avec pr\u00e9cision les humains des machines, et enfin des m\u00e9canismes de d\u00e9fense dynamiques pour rendre le co\u00fbt des robots d'indexation \u00e9lev\u00e9 afin de mettre en doute la vie des internautes. Dans ce qui suit, je vais combiner l'exp\u00e9rience pratique, parler de la fa\u00e7on d'op\u00e9rer.<\/p>\n<p>Commen\u00e7ons par le probl\u00e8me de fuite de contenu le plus pr\u00e9judiciable. De nombreuses plateformes pensent que tout va bien avec HTTPS, mais je ne sais pas si le crawler entre directement dans votre n\u0153ud CDN pour analyser le contenu. J'ai vu le cas le plus extr\u00eame : une plateforme sociale API renvoie des donn\u00e9es JSON directement par l'analyse par lots du crawler, la cha\u00eene de relations avec l'utilisateur a \u00e9t\u00e9 nettoy\u00e9e, la personne en charge jusqu'\u00e0 ce que les concurrents commencent \u00e0 creuser avec pr\u00e9cision les gens ont trouv\u00e9 quelque chose de mal.<\/p>\n<p>Ne croyez pas ceux qui disent que le programme \u201cl'authentification par jeton est suffisante\u201d, la fuite de jeton dans le cercle des crawlers est depuis longtemps une technologie standard, les gens d\u00e9compilent directement votre APP, l'extraction des cl\u00e9s est aussi simple que de faire ses courses au supermarch\u00e9. Le syst\u00e8me de t\u00e9l\u00e9phonie mobile \u00e0 crochet direct le plus impitoyable, la m\u00e9moire d'ex\u00e9cution des jetons sont p\u00each\u00e9s.<\/p>\n<p>L'approche fiable est la suivante<strong>Cryptage dynamique du contenu<\/strong>. Nous pouvons obscurcir les donn\u00e9es \u00e0 la p\u00e9riph\u00e9rie du n\u0153ud CDN, comme les champs de donn\u00e9es cl\u00e9s pour le codage al\u00e9atoire, chaque demande renvoie un nom de champ diff\u00e9rent. Par exemple, le champ d'identification de l'utilisateur peut \u00eatre appel\u00e9 \u201duid\u201d, la fois suivante il deviendra \u201dz3df9\u2033, de sorte que le crawler ne peut tout simplement pas \u00e9tablir de r\u00e8gles de r\u00e9solution fixes.<\/p>\n<p>J'ai test\u00e9 cette solution sur CDN5, et leurs n\u0153uds de calcul en p\u00e9riph\u00e9rie prennent en charge une logique de traitement JavaScript personnalis\u00e9e qui peut perturber dynamiquement la structure JSON avant que les donn\u00e9es ne soient export\u00e9es :<\/p>\n<p>Les crawlers obtiennent ce type de donn\u00e9es comme s'ils enlevaient une bo\u00eete aveugle, \u00e0 chaque fois que vous analysez les r\u00e8gles, vous devez les r\u00e9\u00e9valuer, ce qui augmente consid\u00e9rablement le co\u00fbt du nettoyage des donn\u00e9es. J'ai intentionnellement fait fuir un test de ce type d'interface, plac\u00e9 l\u00e0 pendant une semaine sans succ\u00e8s, mais l'\u00e9quipe du crawler dans le forum a maudit cette interface cass\u00e9e chaque jour pour changer la structure.<\/p>\n<p>Mais le cryptage n'est pas suffisant, certains robots d'exploration avanc\u00e9s ex\u00e9cuteront JS directement pour restaurer les donn\u00e9es. Il doit donc \u00eatre associ\u00e9 \u00e0<strong>Profilage comportemental<\/strong>. C'est un domaine dans lequel CDN07 a fait un travail consid\u00e9rable, avec son moteur bio-comportemental qui saisit plus de 200 dimensions des caract\u00e9ristiques de fonctionnement humaines.<\/p>\n<p>Je suis particuli\u00e8rement impressionn\u00e9 par leur capacit\u00e9 \u00e0 d\u00e9tecter la correspondance de la courbe de B\u00e9zier des mouvements de la souris - les personnes r\u00e9elles qui utilisent la souris auront une courbe d'acc\u00e9l\u00e9ration naturelle et une petite gigue, alors que la simulation du mouvement de la trajectoire par le crawler est soit trop parfaite, soit trop al\u00e9atoire. Ils peuvent \u00e9galement d\u00e9tecter la distribution statistique du temps de visite des pages - le temps de navigation des personnes r\u00e9elles est conforme \u00e0 une distribution en loi de puissance, alors que les robots d'exploration ont tendance \u00e0 avoir une p\u00e9riodicit\u00e9 fixe ou une distribution de Poisson des intervalles de visite.<\/p>\n<p>Voici l'ensemble des jeux de r\u00e8gles que nous avons configur\u00e9s sur 08Host :<\/p>\n<p>Ne sous-estimez pas ces d\u00e9tails, j'ai attrap\u00e9 plusieurs crawlers \u201chaut de gamme\u201d avec ces r\u00e8gles. Un groupe se faisant passer pour un GoogleBot utilisait le mode Chrome Headless complet, avec un r\u00e9f\u00e9rent r\u00e9gulier pour chaque requ\u00eate, et s'est fait prendre parce que ses mouvements de souris \u00e9taient trop lin\u00e9aires - comment une personne r\u00e9elle peut-elle se d\u00e9placer en ligne parfaitement droite \u00e0 chaque fois ?<\/p>\n<p>Lorsqu'il s'agit de blocage d'IP, la premi\u00e8re r\u00e9action de nombreuses personnes est de retirer le segment IP noir. Mais aujourd'hui, les crawlers utilisent les IP des fournisseurs de services en nuage, aujourd'hui Ali cloud scell\u00e9 demain avec Tencent cloud, vous pouvez sceller sur ? Ce qui est encore plus d\u00e9go\u00fbtant, c'est que ceux qui utilisent des r\u00e9seaux proxy r\u00e9sidentiels, les IP sont de vraies largeurs de bande \u00e0 domicile, le scellement d'un vrai utilisateur peut \u00eatre bless\u00e9 par erreur.<\/p>\n<p>Je le recommande d\u00e8s \u00e0 pr\u00e9sent.<strong>M\u00e9canisme de contestation dynamique<\/strong>.. Au lieu de bloquer directement le trafic suspect\u00e9, des d\u00e9fis de validation al\u00e9atoires sont plac\u00e9s. Par exemple, les utilisateurs normaux re\u00e7oivent des CAPTCHA minimalistes (par exemple, en tapant sur un objet dans une image), tandis que les sessions suspect\u00e9es d'\u00eatre des robots d'indexation sont confront\u00e9es \u00e0 des d\u00e9fis plus importants :<\/p>\n<p>Ne sous-estimez pas ce d\u00e9fi informatique, c'est un jeu d'enfant pour les personnes r\u00e9elles, mais un cauchemar pour les crawlers distribu\u00e9s. Pour coordonner des centaines de n\u0153uds afin de r\u00e9soudre le probl\u00e8me de mani\u00e8re synchrone, la latence explose directement. Apr\u00e8s avoir d\u00e9ploy\u00e9 cette solution sur CDN5, le trafic des crawlers a chut\u00e9 de 82%, et la charge CPU est pass\u00e9e directement de la ligne d'alerte \u00e0 la plage normale.<\/p>\n<p>Certains crawlers commencent maintenant \u00e0 utiliser l'IA pour craquer les CAPTCHA, il est donc pr\u00e9f\u00e9rable de mettre \u00e0 jour r\u00e9guli\u00e8rement votre banque de questions. Je pr\u00e9pare g\u00e9n\u00e9ralement des dizaines de types de d\u00e9fis en rotation al\u00e9atoire, allant des calculs math\u00e9matiques aux questions de logique graphique, afin que l'\u00e9quipe de crawlers soit toujours sur la voie du craquage.<\/p>\n<p>Enfin, les d\u00e9tails de la protection de l'API. De nombreuses API de plateformes sociales sont con\u00e7ues de mani\u00e8re trop normative, par exemple, les interfaces d'information des utilisateurs doivent \u00eatre<code>\/api\/user\/{id}<\/code>Le crawler \u00e9crit une boucle pour effectuer un crawl par lots. Il est recommand\u00e9 de concevoir le chemin de l'API de mani\u00e8re contre-intuitive, par exemple en cachant le num\u00e9ro de version dans l'en-t\u00eate et en randomisant le chemin de l'interface :<\/p>\n<p>Par ailleurs, la protection de l'API de CDN07 est plus d\u00e9taill\u00e9e, et vous pouvez d\u00e9finir la limite de fr\u00e9quence pour chaque interface individuellement. Par exemple, l'interface de la page d'accueil personnelle a un maximum de 60 requ\u00eates par minute, tandis que l'interface sensible telle que la liste d'amis est limit\u00e9e \u00e0 5 requ\u00eates par minute, au-del\u00e0 desquelles les fausses donn\u00e9es sont automatiquement renvoy\u00e9es de mani\u00e8re d\u00e9grad\u00e9e.<\/p>\n<p>Le format de retour des donn\u00e9es doit \u00e9galement jouer des tours. Ne renvoyez pas toujours des donn\u00e9es JSON compl\u00e8tes, vous pouvez utiliser l'encodage par morceaux (chunked encoding), diviser les donn\u00e9es cl\u00e9s en plusieurs paquets \u00e0 envoyer, et ins\u00e9rer des paquets inutiles au milieu pour interf\u00e9rer avec l'analyse du crawler. Les utilisateurs r\u00e9els ne le per\u00e7oivent pas, mais l'analyseur du robot est directement perturb\u00e9.<\/p>\n<p>Quel est l'aspect le plus louche de la protection contre les robots d'indexation ? C'est qu'elle tue par erreur de vrais utilisateurs. C'est pourquoi je recommande vivement que toutes les r\u00e8gles soient assorties d'une section<strong>Mod\u00e8le d'apprentissage<\/strong>Le Smart Mode de CDN5 fonctionne bien, il apprend le trafic normal pendant une semaine avant de g\u00e9n\u00e9rer automatiquement les seuils des r\u00e8gles, ce qui est beaucoup plus pr\u00e9cis qu'une configuration manuelle.<\/p>\n<p>Enfin, pour donner une vraie suggestion : ne vous attendez pas \u00e0 ce qu'un ensemble de programmes puisse r\u00e9pondre \u00e0 tous les sc\u00e9narios. J'utilise g\u00e9n\u00e9ralement CDN5 pour faire la premi\u00e8re couche de nettoyage du trafic, 08Host pour l'analyse comportementale, CDN07 pour la protection sp\u00e9ciale de l'interface API. La combinaison des trois utilise un co\u00fbt mensuel de plus de quelques centaines, mais plus rentable que la perte caus\u00e9e par le crawling des donn\u00e9es.<\/p>\n<p>La nature de l'anti-crawler est un jeu de co\u00fbt, ce que nous voulons faire est de rendre le co\u00fbt du crawling beaucoup plus \u00e9lev\u00e9 que la valeur des donn\u00e9es. Aujourd'hui, la plateforme de mon client est captur\u00e9e une fois les donn\u00e9es, l'\u00e9quipe de crawlers doit investir plus d'une douzaine de serveurs de haut niveau + des dizaines de milliers de co\u00fbts d'IP proxy par mois, et nous nous appuyons sur une planification intelligente et un cryptage dynamique, de sorte que les gars qui creusent les donn\u00e9es que de creuser le bitcoin est encore br\u00fbler de l'argent.<\/p>\n<p>R\u00e9cemment, j'ai d\u00e9couvert que la communaut\u00e9 des reptiles a \u00e9galement commenc\u00e9 \u00e0 imploser, et certaines \u00e9quipes ont commenc\u00e9 \u00e0 utiliser l'apprentissage par renforcement pour simuler le comportement humain. Cependant, le Dao ne mesure qu'un pied et le diable dix pieds, notre camp est \u00e9galement engag\u00e9 dans des mod\u00e8les d'apprentissage profond pour d\u00e9tecter des mod\u00e8les anormaux. Cette guerre de l'attaque et de la d\u00e9fense devrait se poursuivre, mais une chose est s\u00fbre : ceux qui pensent que l'installation d'un WAF peut emp\u00eacher la plateforme de crawlers seront t\u00f4t ou tard les plus durement touch\u00e9s par les fuites de donn\u00e9es.<\/p>","protected":false},"excerpt":{"rendered":"<p>R\u00e9cemment, plusieurs amis travaillant sur des plateformes sociales se sont plaints \u00e0 moi que leurs propres dynamiques d'utilisateurs et leur contenu ont \u00e9t\u00e9 crawl\u00e9s jusqu'au fond, et que le serveur a \u00e9t\u00e9 bloqu\u00e9 par des crawlers tous les jours. Un ami a m\u00eame ri am\u00e8rement et a dit : \u201cJe lis maintenant les journaux sont PTSD, d\u00e8s que je vois l'User-Agent avec le mot Python dedans, je veux d\u00e9brancher le c\u00e2ble du r\u00e9seau\u201d. Le seuil technologique des crawlers est de plus en plus bas de nos jours, il suffit d'\u00e9crire quelques lignes de script Python pour oser glaner des donn\u00e9es, sans parler de ceux qui se sp\u00e9cialisent dans le trafic de donn\u00e9es, d\u00e9pla\u00e7ant des centaines de bombardements d'IP d'h\u00e9bergement en nuage. Aux yeux de ces personnes, le pare-feu traditionnel n'est que du papier, et l'on se fie \u00e0 une liste noire d'adresses IP pour emp\u00eacher les crawlers ? Autant esp\u00e9rer gagner \u00e0 la loterie. Au fil des ans, j'ai aid\u00e9 de nombreuses plateformes de m\u00e9dias sociaux \u00e0 mettre en place des solutions anti-crawling. Les tests ont r\u00e9v\u00e9l\u00e9 que les solutions reposant uniquement sur la correspondance des r\u00e8gles ne peuvent tout simplement pas faire face aux crawlers modernes. Ces solutions \u00e0 haute<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"gallery","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":""},"categories":[150],"tags":[],"collection":[],"class_list":["post-1048","post","type-post","status-publish","format-gallery","hentry","category-updates","post_format-post-format-gallery"],"_links":{"self":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/1048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/comments?post=1048"}],"version-history":[{"count":1,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/1048\/revisions"}],"predecessor-version":[{"id":1077,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/1048\/revisions\/1077"}],"wp:attachment":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/media?parent=1048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/categories?post=1048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/tags?post=1048"},{"taxonomy":"collection","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/collection?post=1048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}