web-dev-qa-db-fra.com

Quelle est la meilleure façon de détecter si le trafic est légitime ou (bot) non?

Nous prévoyons de commencer un programme similaire à YouTube où les utilisateurs sont payés selon les vues.

Mais le problème auquel nous sommes confrontés est que les gens joueront au système et enverront du trafic en utilisant des botnets pour obtenir un avantage indu.

Je sais qu'il pourrait n'y avoir aucun moyen 100% légitime de dénombrer un tel trafic, mais quelle est la meilleure façon de filtrer le trafic?

1
Vivek Sancheti

Puisque vous utilisez des balises qui commencent par le Web, je suppose que vous construisez un système qui nécessite le téléchargement du code HTML pour qu'une impression payante fonctionne.

Ce que vous devez faire est d'apprendre le comportement du robot en consultant les fichiers journaux d'accès au serveur. Sur un serveur sur lequel Apache est installé, le fichier est généralement nommé access_log. Si votre serveur est utilisé fréquemment, vous y verrez des centaines, voire des milliers de lignes. Chaque ligne contient l'adresse IP de l'appareil distant connecté à votre serveur ainsi que la ressource demandée ainsi que la date et l'heure.

En règle générale, il y a au moins une seconde entre le moment où une personne passe d'une page à l'autre sur un site Web, à moins bien sûr que le site Web soit un jeu de devinettes à haute vitesse mal conçu sans instructions, et même dans ce cas, la vitesse ne sera jamais plus rapide. d'une seconde en raison de la latence de connexion initiale.

Si vous voyez la même adresse IP répertoriée avec la même date et heure exacte pour les 20+ lignes suivantes, alors c'est clairement un robot essayant d'attaquer votre système (peut-être en essayant de produire une attaque par déni de service).

Une autre façon de vérifier si c'est un robot est de rechercher les fichiers demandés, en particulier dans les journaux d'erreurs. Si vous voyez constamment un modèle similaire de fichiers, encore et encore, surtout si aucun d'entre eux n'existe, cela signifie qu'un ou plusieurs systèmes peuvent essayer de pénétrer dans votre serveur en supposant que vous avez installé des systèmes de gestion de contenu tels que Wordpress.

En outre, certains robots peuvent demander des fichiers avec des noms foirés ou peuvent s'identifier à tort. Toute ligne contenant du code source est probablement une ligne provenant d'un robot. Par exemple, le code contenant ceci: (:;){}

Comme je ne suis pas sûr que le nom du serveur (apache? Nginx?) Diffuse le contenu sur votre système, je ne peux pas vous dire quelle colonne des fichiers journaux appartient à l'adresse IP ou qui appartient au fichier demandé etc., mais lorsque vous les regardez, en particulier après avoir fait une demande au serveur, les modèles peuvent devenir plus faciles à découvrir.

3
Mike

Quelques autres méthodes de détection du trafic de robots:

  1. Vérification de l'agent utilisateur (il s'agit d'une application cliente qui utilise un protocole réseau particulier).
  2. Vous recherchez une correspondance très spécifique avec quelque chose comme une signature de logiciel malveillant ou un exécutable spécifique ou une adresse de connexion C&C.
  3. Examiner des paramètres comportementaux tels que la profondeur de vue, la durée de la visite, l'engagement et certains autres paramètres.
  4. Solutions de programme. Il existe deux solutions connues par moi pour filtrer le trafic et examiner sa qualité: Google Analytics et Maxymizely.com. Utilisez GA pour filtrer les appels provenant des réseaux de zombies et des référents connus. Pour filtrer le trafic de robots et d'araignées à partir de Google Analytics, accédez à vos paramètres d'administration -> Afficher les paramètres -> Filtrage des robots avec une case à cocher qui indique "Exclure" tous les hits de bots et d'araignées connus ". La deuxième solution Maxymizely.com permet d'analyser la qualité du trafic en considérant trois dimensions: l'activité, l'engagement et la monétisation du trafic. Cet outil permet de choisir les sous-paramètres significatifs pour chaque dimension et de leur attribuer le poids requis. En outre, il existe une opportunité pratique de visualiser ces éléments dans une vue de la carte 3D.
2
Olga Schors

Découvrez combien de vidéos visionnées par des utilisateurs normaux par heure.

Supposons qu'il s'agit de 10 vidéos vues par la plupart des visiteurs par heure.

Stockez et utilisez le nombre de vidéos visionnées à l'aide d'une session + cookie + adresse IP.

Si le nombre de vidéos visionnées est supérieur à 10 pour une session, utilisez un simple captcha pour éviter les bots.

Si la vérification captcha échoue (en continu ou plusieurs fois), ajoutez ces adresses IP dans la liste noire et traitez-les d'une manière spéciale. C'est-à-dire introduire plus de captcha de manière incrémentale.

Vous pouvez facilement découvrir la différence entre les robots et les utilisateurs en utilisant la combinaison de variables Adresse IP + Cookie + Session.

1
Mani