Code Monkey home page Code Monkey logo

analytics-spammers's Introduction

Analytics Spammers

Qu'est-ce que c'est ?

Ce modeste dépôt a pour objectif de bâtir une liste des spammeurs Analytics ainsi que des snippets et modules à intégrer dans son appli pour s'en protéger.

Si vous ne savez pas ce que c'est, je vous invite à lire cet article : https://marceau.casals.fr/blog/2015/05/le-htaccess-ce-heros
On appelle communément ce type de spam du SPAM par Référent ou Referer SPAM.

Pour résumer, de nombreux sites tentent de faire du pognon en polluant les statistiques (Piwik, Google Analytics et consor) en faisant du SPAM par site référent.

Je vous invite à regarder dans la liste des sites référents dans vos stats pour vous rendre compte pourquoi c'est important et pourquoi c'est génant quand on cherche à avoir des stats fiables pour ses sites web.

Usage

L'usage de cette liste est multiple. Cette dernière liste les noms de domaines référents habituellement utilisés pour le SPAM.

Il y'a plusieurs façon de les bloquer :

  • Filtres Google Analytics
  • .htaccess ou configuration nginx
  • Script PHP (voir Module Laravel 5)

Snippets

Le dossier snippets a pour objectif de contenir des scripts tout fait pour bloquer les spammeurs; en commençant par un fichier de configuration pour Apache et NGINX.

En fonction du temps à ma disposition, j'essaieai de faire des scripts pour les différents Frameworks : CodeIgniter, Laravel et Symfony, pour ceux que je connais bien.

Module Laravel 5

Un module pour Laravel 5 est disponible si vous souhaitez automatiser le blocage.
Il s'agit d'un middleware pour votre application que vous pourrez utiliser de manière globale ou seulement pour certaines routes.

Attention, bien que fonctionnel, le plugin est vraiment en phase de test. N'hésitez pas à l'améliorer :)
Notez également que le filtre est conçu pour fonctionner uniquement en production (APP_ENV = production).

Installation via Composer

composer require akibatech/analytics-spammers

Intégration à Laravel

Il suffit pour cela d'ajouter une entrée à votre fichier App/Http/Kernel.php. Il y'a deux manières de procéder :

De manière globale, comme le fait le middleware par défaut CheckForMaintenance :

protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Akibatech\Spammers\Laravel\Http\Middleware\CheckForSpammers::class, // Sera appliqué pour chaque requête
];

Ou pour certains groupes de route, par exemple pour le groupe web :

protected $middlewareGroups = [
    'web' => [
        // ... Les autres middleware
        \Akibatech\Spammers\Laravel\Http\Middleware\CheckForSpammers::class, // Sera appliqué pour les routes sous le joug du groupe web
    ],
];

Mise à jour du dictionnaire

composer update akibatech/analytics-spammers

Ceci mettra automatiquement à jour le dictionnaire de spammers, à savoir le fichier spammers.json.

Contribuer

Si le projet vous semble d'utilité publique, libre à vous de Puller sur ce dépôt en ajoutant les spammers à la liste ou en proposant vos snippets.

Note

Il existe également une base de données similaire proposée par Piwik : https://github.com/piwik/referrer-spam-blacklist

Contributeurs

  • Marceau Casals (Initiateur)
  • Thomas Sileghem (Générateur Node.js)

analytics-spammers's People

Contributors

akibatech avatar marceauka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mastilver

analytics-spammers's Issues

ajouter generateur

Bonjour

Projet interessant.
Cependant vous devez tout faire a la main. (Il y a deja une difference entre le htaccess et le nginx)
Je souhaite donc ajouter un generateur utilisant handlebar (ou une autre technologie).
Du NodeJs vous derange t-il?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.