[spip-dev] [statistiques] MSIE 6 est-il un robot ?

Hello,

depuis septembre on constate une forte divergence des stats SPIP avec les stats Google Analytics sur un grand nombre de sites SPIP.

Après analyse il s'avère que c'est le fait de BotNets qui utilisent de vieux IE6 zombies.

Cela se verifie aisement dans les logs apache :

# cat acces.log | grep -v "local/" | grep -v "IMG/" | grep -v "/ecrire/"

grep -v "plugins/" | grep -v "plugins-dist/" | grep -v "action=cron" |

grep -v "bot" > acces_pages.log
# grep GET acces_pages.log | wc -l
280072
# grep POST acces_pages.log | wc -l
47540
# grep POST acces_pages.log | grep -v "MSIE 6" | wc -l
329
# grep GET acces_pages.log | grep -v "MSIE 6" | wc -l
201727
# grep GET acces_pages.log | grep "MSIE 6" | wc -l
78345
# grep POST acces_pages.log | grep "MSIE 6" | wc -l
47211

On trouve donc que 80000/280000 pages vues en GET sont le fait de MSIE6 soit plus de 28% du total ce qui est totalement hors de proportion par rapport à la part de marché de IE6.
Mais plus encore on voit que ces MSIE6 font plus de 47000 POST durant le même temps, là ou tous les autres utilisateurs confondus ne font que 329 POST.

Ces MSIE6 sont donc clairement utilisés pour du spam massif via des BotNets. Ils se contentent de faire des successions de GET + POST.
En effet, on peut voir que quasi aucun ne charge de CSS ni de JS :

# grep "MSIE 6" acces.log | grep css | wc -l
147
# grep "MSIE 6" acces.log | grep js | wc -l
24

Les POST génèrent très certainement une forte charge serveur à eux seuls, mais on ne peut pas y faire grand chose a priori (investigations complémentaires nécessaires en tout cas).

Mais au final les GET de ces MSIE 6 sont comptés dans les visites de manière impropre. Je propose de manière un peu osée d'ajouter
"MSIE 6.0" à la preg de detction des bots.
Les utilisateurs sous MSIE 6 seront du coup comptés comme des robots et exclus des stats. Il me semble que c'est plus près de la vérité que de les compter comme des utilisateurs normaux.

Est-ce que cela convient à tout le monde, ou certains auraient des parcs de vrais utilisateurs MSIE6 dans leurs visiteurs qui necessiterait que cela reste une option activable/desactivable ?

Pour ceux qui veulent réduire leur charge serveur, les POST massifs se bloquent très bien dans l'écran de secu avec le patch suivant :

// AntiSpam
if ($_SERVER['REQUEST_METHOD']==='POST'
   AND _IS_BOT
   AND isset($_POST['nobot'])
   AND strlen($_POST['nobot'])) {
        $ecran_securite_raison = "Bot POST";
}

Mais ce serait probablement un peu violent et intrusif de mettre ça par défaut.

Hop,

Mais au final les GET de ces MSIE 6 sont comptés dans les visites de
manière impropre. Je propose de manière un peu osée d'ajouter
"MSIE 6.0" à la preg de detction des bots.
Les utilisateurs sous MSIE 6 seront du coup comptés comme des robots et
exclus des stats. Il me semble que c'est plus près de la vérité que de
les compter comme des utilisateurs normaux.

Est-ce que cela convient à tout le monde, ou certains auraient des parcs
de vrais utilisateurs MSIE6 dans leurs visiteurs qui necessiterait que
cela reste une option activable/desactivable ?

tl;dr : +1

IE6 serait encore utilisé par 1.7% d'utilisateurs, cf https://www.modern.ie/en-us/ie6countdown

Du coup, je pense qu'on peut se permettre de minimiser les stats de quelques sites de 1.7% sans problème. De plus, si un define permet aux sites qui le souhaitent de réactiver la prise en compte de ce navigateur, c'est parfait.

Devant tant d'unanimité, j'ai donc ajouté "MSIE 6.0" comme chaine de détection des robots dans l'écran de sécurité 1.2.2

Bruno Bergot a écrit:

cool !

Je plussois, bien qu'en retard .....

Bonsoir,

Pour ceux qui veulent réduire leur charge serveur, les POST massifs se
bloquent très bien dans l'écran de secu avec le patch suivant :

// AntiSpam
if ($_SERVER['REQUEST_METHOD']==='POST'
  AND _IS_BOT
  AND isset($_POST['nobot'])
  AND strlen($_POST['nobot'])) {
       $ecran_securite_raison = "Bot POST";
}

Merci

Mais ce serait probablement un peu violent et intrusif de mettre ça par
défaut.

Pourquoi ?

Les bots n'ont pas à faire de POST.

Mais sinon, ici : cela ne bloque pas les bots IE6 , si ?

Denis

Merci