CitizenZ

Blog Libre, Net & Société

BBClone : les stats faciles pour son site web

Rédigé par citizenz 6 commentaires
Il est souvent pratique et utile d'avoir une idée de la fréquentation de son site web. Soit par simple curiosité, soit pour en apprendre un peu plus sur le public qui visite le site, son "origine" (géographique ou referer), quelles pages ont le plus été visitées, etc.

Il existe bon nombre de scripts pour mettre en place des statistiques pour son site.
J'ai personnellement toujours privilégié l'aspect visuel et pratique ... voire simple(iste ?). Et cela fait des années que j'utilise BBClone .

BBclone est un compteur web écrit en PHP qui donne une vue détaillée des visiteurs de votre site web en affichant les n derniers utilisateurs (et les données qu'ils ont fournies, comme leur IP, navigateur, etc.) : très pratique pour les webmasters qui veulent voir qui visite ses sites, ce que les navigateurs utilisent, d'où ils proviennent !
Pour chaque visiteur, BBClone peut afficher : adresse IP, le nom d’hôte, l'OS, le navigateur, l'URL d'origine (referer), l'heure de la visite, la page visitée, etc .

Relativement simple à mettre en place, vous pouvez en avoir un aperçu ici : https://bbclone.de/demo /

Le guide d'installation  est très bien fait mais en anglais, aussi voici un court résumé de la démarche d'installation.

1 - Téléchargez BBClone à cette adresse : http://bbclone.de/download.php
2 - Uploadez le répertoire complet BBClone sur votre serveur... Un bon endroit pour mettre BBClone reste à la racine de votre site ce qui donnera : http://www.example.com/bbclone/
3 - Donnez les bons droits aux fichiers. Tous les fichiers "importants" se trouvent dans le répertoire var/. Aussi donnez les droits 666 (chmod 666) aux fichiers suivants : counter[0-15].inc, access.php, last.php et .htalock
4 - Fichier de conf : dans le répertoire conf/ vous trouverez le fichier de config de BBClone (config.php). Peu de choses à faire si ce n'est changer la langue par défaut (mettez fr pour le français) et la ligne $BBC_DETAILED_STAT_FIELDS où vous pouvez ordonner les colonnes qui seront affichées et ajouter ou enlever des colonnes. Moi j'ai choisi cette présentation : $BBC_DETAILED_STAT_FIELDS = "id, time, ext, ip, dns, visits, os, browser, page, search, referer";
5 - Activiez l'option de debug : $BBC_DEBUG = 1; ... cela peut-être utilise si vous avez une erreur...
6 - Ajoutez le code d'activation sur toutes vos pages.

La partie 6 est la partie la plus "compliquée". Vous devez ajouter un code pour toutes les pages que vous souhaitez "monitorer". Il va falloir indiquer le bon PATH et le bon endroit pour mettre ce code. Si vous ne voulez pas indiquer le code à la main sur chaque page, deux solutions s'offrent à vous :
- soit utiliser un fichier .htaccess si vous utiliser un serveur Apache ou configurer votre fichier vhost avec un serveur Nginx
- soit inclure un fichier .php (que nous pouvons nommer bbclone.php) dans le header.php de votre thème, par exemple...

J'ai choisi la deuxième solution. Voici mon fichier bbclone.php placé à la racine du site :
[MAJ : 16/08/17, 21h20] : le code suivant permet l'affiche du nom complet des pages visitées
<?php
$url = $_SERVER['REQUEST_URI'];
define("_BBC_PAGE_NAME", "$url");
define("_BBCLONE_DIR", "bbclone/");
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if (is_readable(COUNTER)) include_once(COUNTER);
?>

J'ai indiqué le chemin complet où se trouve le répertoire BBClone sur mon serveur. A changer chez vous en fonction de votre configuration.
Il ne me reste plus qu'à inclure ce fichier dans le header de mon thème pluXML : 
<?php include 'bbclone.php'; ?>


Que vous soyez propulsé par Apache ou Nginx, vous souhaiterez certainement protéger l'accès à ces statistiques à l'aide de votre fichier .htaccess (Apache) ou en configurant votre fichier de conf Nginx.

Voici un exemple pour Nginx :
## Protection répertoire BBClone
location /bbclone {
auth_basic "stats";
auth_basic_user_file "/etc/nginx/passwd/stats_passwd";
}
Il vous faut bien évidemment créer le fichier stats_passwd avec votre pseudo + un mot de passe à l'aide de l'utilitaire apache2-utils (sous Debian, Ubuntu, ...) en rentrant :
$ sudo htpasswd -c stats_passwd

Au final, voici un petit aperçu des stats fournies par BBClone en action sur mon site :





Bloquer les spams facilement avec Nginx

Rédigé par citizenz 8 commentaires
Vous pouvez facilement bloquer une partie des spams qui viennent polluer votre site web (vos commentaires, etc.) avec quelques lignes dans votre fichier de conf Nginx. Je peux vous certifier que c'est assez efficace.
Dans votre block server {  }, mettez les lignes suivantes :

## Block spam
set $block_spam 0;
if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
    set $block_spam 1;
}
if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
    set $block_spam 1;
}
if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
    set $block_spam 1;
}
if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
    set $block_spam 1;
}
if ($block_spam = 1) {
    return 403;
}

Sources : Korben , Howtoforge

UPDATE 15/08/17 - 15:36 :

Tester le nouveau Firefox 57 sous Linux

Rédigé par citizenz 3 commentaires
Il parait que le nouveau Firefox est en route. Avec la version 57 qui devrait sortir en septembre, on nous promet un Firefox plus rapide, plus léger, plus réactif...
OK : et si on le testait tout de suite ! L'idéal serait évidemment de ne pas écraser notre Firefox en place (version stable) et d'installer la version nightly de test de Firefox "à côté". Ok : c'est hyper simple.

Rendez-vous à cette adresse : https://www.mozilla.org/en-US/firefox/nightly/all/?q=French,%20Fran%C3%A7ais (version en FR) ou plus directement, vous pouvez télécharger le fichier firefox-57.0a1.fr.linux-x86_64.tar.gz ici : https://download.mozilla.org/?product=firefox-nightly-latest-l10n-ssl&os=linux64&lang=fr

Une fois chargé dans votre dossier Téléchargements ... ou là où vous le souhaitez, c'est très simple : il faut extraire le fichier .tar.bz2, aller dans le dossier firefox et cliquez sur le fichier exécutable firefox.
Vérifiez qu'aucune autre version de Firefox n'est lancée avant de lancer cette version 57.

Il ne vous reste plus qu'à tester...
Moi, ça fait bien une heure que je suis dessus et je peux vous dire que c'est très bien : fluide à souhait ! Vivement septembre !

Let's Encrypt et Nginx : config rapide sous Ubuntu

Rédigé par citizenz Aucun commentaire
Voici un petit tuto simple, pratique et rapide pour configurer un certificat Let's Encrypt pour votre site web (avec Nginx). J'utilise un serveur Ubuntu 16.04.

PRÉREQUIS : Certbot a besoin d'un fichier vhost Nginx existant, même minimaliste, mais avec une partie "server {  }" déjà en place.

Pour tout changement effectué, vérifiez la syntaxe Nginx avec cette commande :  $ sudo nginx -t

1 - installation de Certbot (version stable) :
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt update
$ sudo apt install python-certbot-nginx

Si la commande add-apt-repository n'est pas disponible, installer les 2 paquets suivants :
$ sudo apt install software-properties-common python-software-properties


2 - Obtention d'un certificat SSL Let's Encrypt :
$ sudo certbot --nginx -d example.com -d www.example.com

  • Aucune autre option n'est à préciser. L'option --nginx s'occupe de tout, même de la config de votre fichier vhost !
  • Vous remarquerez que Certbot a ajouté un fichier /etc/letsencrypt/options-ssl-nginx.conf qui comporte toutes les bonnes options.
  • Si c'est votre première demande, vous devrez rentrer une adresse e-mail de contact et accepter les "termes du service". Vous devez ensuite choisir d'accepter les connexions HTTP et HTTPS ou seulement les connexions HTTPS pour votre site.

3 - Configuration supplémentaire avec Diffie-Hellman :
$ sudo mkdir -p /etc/nginx/ssl
$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

Puis dans votre fichier vhost nginx, ajoutez la ligne suivante :
ssl_dhparam /etc/nginx/ssl/dhparam.pem;

Ajoutez également les lignes suivantes :
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/www.mondomaine.com/fullchain.pem;


# Google DNS, Open DNS, Dyn DNS
resolver 8.8.8.8 8.8.4.4 208.67.222.222 208.67.220.220 216.146.35.35 216.146.36.36 valid=300s;
resolver_timeout 3s;

Et relancer Nginx :
$ sudo /etc/init.d/nginx restart

4 - Renouvellement automatique des certificats
$ sudo crontab -e
15 3 * * * /usr/bin/certbot renew --quiet

Avec cette config (intégrant la config "par défaut" de certbot + l'ajout du Diffie Hellman), vous devriez obtenir un A sur SSL Labs (https://www.ssllabs.com/ssltest/ ).

SOURCES
: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04
Fil RSS des articles