1. Pourquoi un anti-crawler ?
Avant de concevoir le système anti-crawler, examinons d'abord quels problèmes les robots apporteront au site Web ? #🎜 🎜#
Essentiellement, les sites Web sur Internet qui peuvent être consultés, consultés et utilisés par les personnes ainsi que les données contenues dans les sites Web sont ouverts et accessibles, il n'y a donc pas de problème dit d'« accès autorisé illégal ». . Il n'y a pas de différence essentielle entre un programme d'exploration accédant à une page Web et un humain accédant à une page Web. Dans les deux cas, le client initie une requête HTTP au serveur du site Web. renvoie une réponse de contenu au client. Tant qu'une requête est initiée, le serveur du site Web doit répondre. Pour répondre, les ressources du serveur doivent être consommées. Il existe une relation mutuellement bénéfique entre les visiteurs du site Web et le site Web. Le site Web fournit aux visiteurs les informations et les services nécessaires dont ils ont besoin, et les visiteurs génèrent également du trafic vers le site Web. Par conséquent, les propriétaires de sites Web seront disposés à utiliser la bande passante, le disque et la mémoire du serveur afin de servir leurs visiteurs. Et qu'en est-il du programme crawler ? C'est l'équivalent d'une fête de la prostitution. Doubler les ressources du serveur du site Web et occuper la bande passante du serveur n’apportera aucun avantage au site Web. En fait, le résultat final sera préjudiciable au site Web lui-même. Les robots d'exploration peuvent être considérés comme les hyènes africaines d'Internet, il n'est donc pas étonnant qu'ils soient détestés par les propriétaires de sites Web.2. Identifiez les robots d'exploration
Puisque vous détestez les robots d'exploration, vous devez les garder hors du site Web. Bien entendu, pour refuser l’accès au robot, vous devez d’abord identifier le programme du robot parmi les visiteurs du réseau. Comment l'identifier ?1. En-tête de requête HTTP
Les visiteurs du réseau général utiliseront un navigateur pour accéder au site Web, donc cette identification Il est destiné aux robots d'exploration Web les plus élémentaires. Le navigateur apportera son propre en-tête de requête pour indiquer ses informations de base. Les en-têtes de requête HTTP sont facilement brisés par les robots d'exploration, car n'importe qui peut les modifier et les falsifier.2. Valeur du cookie
Les cookies sont généralement utilisés pour identifier les visiteurs d'un site Web, comme une carte d'identité temporaire que vous avez en main. Et sur cette base, l’identité est vérifiée auprès du serveur du site Web. Malheureusement, les cookies sont stockés côté client et peuvent être modifiés et falsifiés.3. Fréquence d'accès
Lorsqu'un visiteur demande une certaine page du site Web chaque seconde, ou demande plusieurs pages en quelques secondes A cent fois cette page. Ce visiteur est soit un robot, soit un fantôme. Quel être humain peut cliquer rapidement et fréquemment sur une souris pour visiter une page ? A-t-il la maladie de Parkinson ou est-il la réincarnation d'une pieuvre ? Il est possible d'identifier les robots d'exploration par fréquence d'accès, mais les robots d'exploration peuvent également utiliser un grand nombre d'adresses IP proxy pour obtenir l'effet d'une adresse IP visitée une seule fois, ou évitée via des intervalles de requête aléatoires.4. Trajectoire du comportement de la souris
Les visiteurs humains ordinaires ne bougent pas la souris et ne cliquent pas étape par étape comme une machine lorsqu'ils naviguent sur le Web. . Les mouvements et les clics de la souris peuvent être capturés via des scripts JS, afin que vous puissiez juger si le visiteur est un programme d'exploration en jugeant la trajectoire du comportement de la souris du visiteur.5. valeur du jeton
De nombreux sites Web adoptent désormais une méthode de développement de séparation front-end et back-end, avec l'interface back-end renvoyer les données au front-end et au front-end Après avoir obtenu les données, combinez-les avec la page pour le rendu. Par conséquent, de nombreux programmes d’exploration recherchent directement l’interface de données au lieu de demander bêtement la page. Le jeton est utilisé pour vérifier ces interfaces de données backend. Habituellement, un jeton est crypté par une combinaison de clés d'heure et de page Web. Il existe d'autres façons d'identifier les robots d'exploration, que je ne présenterai pas une par une ici. Malheureusement, quelle que soit la méthode ci-dessus utilisée pour identifier les robots d’exploration, il existe toujours un risque d’être trompé ou pénétré par les robots.3. Refusez les robots d'exploration
Tout comme il n'y a pas de protection de sécurité de site Web une fois pour toutes, la fermeture du port 3389 il y a dix ans peut empêcher Le serveur est devenu un gril. De nos jours, divers pare-feu et diverses mesures de sécurité ont été ajoutés, et il est possible de faire l'objet de chantage en raison d'une certaine vulnérabilité 0Day. Il y a toujours une lutte et une escalade entre les robots et les anti-crawlers. La différence entre la cyberattaque, la défense et l’anti-crawling est que la première est un combat sans limites, tandis que la seconde implique le port de gants et de casques comme les boxeurs participant aux Jeux olympiques. Pour faire fonctionner le site, il est nécessaire d'ouvrir le contenu sur le monde extérieur, et le contenu ouvert est comme l'odeur de charogne et de sang flottant dans la savane africaine, attirant directement l'arrivée de les hyènes. Il est difficile d'équilibrer le contenu ouvert et d'éviter de devenir un pool d'exploration de données pour les robots d'exploration.1. Limiter l'ouverture du contenu
Le contenu ouvert est la base de l'acquisition d'utilisateurs et de trafic, le contenu doit donc être ouvert. Mais l’ouverture du contenu n’est pas une ouverture illimitée. Les utilisateurs non enregistrés peuvent visualiser un ou deux éléments de contenu, mais n'ont pas un accès illimité à tout le contenu. Cette restriction peut prendre la forme de mécanismes de vérification des clics tels que la connexion, la vérification du code scan ou l'accès au code de vérification Google. Désormais, de plus en plus de sites Web ont adopté le mécanisme d'ouverture limitée du contenu, comme Weibo, Zhihu, Taobao, etc. Vous pouvez voir une ou deux pages de contenu, mais si vous souhaitez quand même continuer, désolé, veuillez vous connecter.2. L'enregistrement comportemental des opérations des utilisateurs
Oblige que les visiteurs se connectent ne résout pas le problème, car la connexion simulée a toujours été une branche de développement populaire des programmes de robots d'exploration Web, qu'il s'agisse de codes de vérification d'image, de puzzles, de curseurs ou de clics chinois. personnages, seront percés. L'écriture de programmes d'application et de robots d'exploration peut permettre aux codes de vérification SMS de communiquer avec le site Web.
L'enregistrement du comportement des utilisateurs est donc essentiel. Toutes les opérations des utilisateurs et les comportements d'accès doivent être enregistrés. C'est la base de l'analyse et du traitement des robots.
3. Réprimer strictement les comportements à haute fréquence en termes de contrôle
En fait, il existe également de nombreux programmes d'exploration qui ne sont pas exécutés pour extraire les données et le contenu du site Web, mais simplement pour faciliter la collecte manuelle et organisation. , ce type de comportement de robot d'exploration est généralement supérieur à la fréquence de navigation manuelle, mais nettement inférieure à la fréquence des robots d'exploration de type hyène, ce type de comportement de robot d'exploration peut donc être ignoré. Gardez une ligne dans votre vie pour que nous puissions nous revoir dans le futur.
Cependant, des mesures doivent être prises en cas de comportement des robots d'exploration à haute fréquence qui affecte le fonctionnement du serveur du site Web. Combinez les informations sur les utilisateurs et les adresses IP pour traiter les utilisateurs ou les adresses IP pertinents.
4. Déclaration des droits dans l'accord
Le propriétaire du site Web doit déclarer dans l'accord du site Web ou l'accord d'utilisation que la navigation, l'accès et l'acquisition de données normaux sont autorisés. la stabilité du serveur du site Web sera pénalisée. Le droit à un traitement ultérieur est réservé.
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!