Detection des systemes autosurf (Referer ?)

  • Auteur de la discussion Auteur de la discussion comparef
  • Date de début Date de début
WRInaute occasionnel
Bonjour,

Plusieurs de nos membres s'inscrivent a des systemes autosurf, cela fausse totalement nos statistiques et prend des ressources pour rien...

Je voudrais donc detecter ces systemes autosurf, j'ai essayé avec le referer ($HTTP_SERVER_VARS['HTTP_REFERER'] et $_SERVER['HTTP_REFERER']) mais cela ne semble pas les detecter (apparement certains referer passent a travers ces fonctions).

Je les vois pourtant bien dans les referer affichés par Xiti...

Quelqu'un saurait-il comment Xiti detecte les referer ?
Ou une autre solution pour les detecter ?

Merci d'avance pour votre aide,
Robin
 
WRInaute occasionnel
Merci pour ta reponse,
A... le javascript c'est mon point faible, j'enregistre les referer dans une base de données avec une requete PHP, y-a-t-il un moyen de passer l'information récupérée par le document.referrer dans une variable php ?
 
WRInaute discret
Javascript ne changera pas grand chose et a mon avis c'est bien plus compliqué à developper qu'un simple filtre sur le referer (il est indiqué par le navigateur au serveur donc on peut mettre ce qu'on veut). Certainement un system de banissement dès que trop de page sont vues (c'est quoi comme site que tu as ?).
 
WRInaute occasionnel
Il s'agit de *ttp://www.wifeo.com

Certain de nos membres ont inscrits leurs sites a des systemes d'autosurf malgré nos demandes de ne pas le faire et nous n'arrivons pas a trouver quels sont ces membres...
 
WRInaute occasionnel
Je viens de penser a quelque chose,

Est ce que le script ci-dessous pourrait fonctionner :

Code:
<script> 
<!-- 
if ((top != self)) 
{ 
<?php
$requete4=mysql_db_query($sql_bdd,"INSERT INTO autosurf ( id , nom_site ) VALUES ('$idnew', '$nom_site )",$db_link) or die(mysql_error());
?>
} 
--> 
</script>

Ce que je veux, en fait, c'est que lorsque le site est affiché dans une frame (comme le font les systemes d'autosurf), ce soit entré dans une base de donnée. Mais je ne sais pas si ce script peut fonctionner, au niveau de l'ordre d'execution du php et du js.

Je pourrais difficilement controler si ca marche une fois le script installé donc je vous demande votre avis avant.

Merci d'avance !
 
WRInaute discret
non, php est resolu avant javascript.
Par contre avec XMLHttpRequest (ajax), oui. Ca donne :

function test()
{
if(window.XMLHttpRequest)//type firefox
var xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject)//type internet explorer
var xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else // XMLHttpRequest non supporté par le navigateur
{
//donc là aucun tests... et donc pas moyen de savoir s'il y a tricherie
return;
}
xhr_object.onreadystatechange = function()
{
}
xhr_object.open("GET","le_fichier.php", true);
xhr_object.send(null);
return true;
}
if ((top != self))
test();

et dans un fichier "le_fichier.php" , un truc du genre:
<?php
mysql_db_query($sql_bdd,"INSERT INTO autosurf ( id , nom_site ) VALUES ('$idnew', '$nom_site )",$db_link) or mail($to,'erreur sql',mysql_error());//(c'est pas sécurisé de donner le message d'erreur en clair)
?>


...mais ca supose que la personne ne desactive pas javascript et ait un navigateur internet actuel (pour XMLHttpRequest) : dissuasif tout au plus.
 
WRInaute occasionnel
Merci pour ta reponse,

J'ai un peu de mal avec ce langage donc je n'ai pas réussit a faire marcher le script et a comprendre son fonctionnement.

J'ai donc appliqué une autre methode :
Si on detecte que l'entete du site n'est pas la bonne ( if ((top != self)) ) on ouvre un popup et dans ce popup il y a une requete PHP qui insert les infos dans la BDD, avoir un popup qui s'ouvre comme cela ce n'est pas terrible mais bon pour le moment je m'en contenterai... et des que j'aurait trouvé les membres inscrit a ces systemes d'autosurf je retirerai le script.
 
WRInaute occasionnel
Oui, certains passent a travers.
De toute façon je l'ai retiré car il y a trop de moyen d'arriver sur un site avec une frame en plus (Google image entre autre) et en quelques heures de test j'avais deja plusieurs centaines de cas signalés mais impossible de faire le tri entre ceux qui utilise un systeme autosurf et ceux qui aurait eu une frame pour une autre raison...
 
WRInaute discret
tu peux aussi essayer de tester l'ip et si tu vois une connexion à partir de celle-ci trop importante en un temps donné, faire une alerte.
 
WRInaute occasionnel
En fait, les systèmes d'autosurf sont basés sur des principes d'échange de visiteur (tu va sur mon site et je vais sur ton site), en gros, je vais 30 secondes sur un site et cela me donne des points qui vont me servir a acheter de nouveaux visiteurs. Donc ce sont des visiteurs réels mais qui n'ont aucun intérêt puisque ils ne reste que le temps d'affichage de la page.
Donc les Ip pour chaque visiteurs sont différentes...

(une vrai calamité ces truc ! )
 
WRInaute discret
(ok, je connais pas bien ce system)

bien pensé en tous cas, pour y trouver une faille, c'est pas gagné...

Il n'y aurait pas plutot moyen de verifier sur chaque fournisseur d'autosurf connus si vos clients y sont inscrits ?
 
WRInaute occasionnel
Le probleme c'est que les sites d'autosurf ne rendent en generale pas public la liste de leurs inscrits...
Pour le moment j'ai juste mis un script qui reactualise la page en enlevant la frame lorsqu'une frame est detectée, cela ne nous indiquera pas qui est inscrit mais au moins cela perturbe le fonctionnement des sites d'autosurf et c'est deja ca...
 
Discussions similaires
Haut