Controler le referer

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Controler le referer

par nicolas » 18 nov. 2005, 11:41

Cette solution n'est évidemment pas fiable puisqu'elle est basée sur des informations envoyés par le client (le navigateur) et que celle-ci peuvent être modifié aisément.

par Truc » 18 nov. 2005, 00:42

SAlut, inverse la condition avec "!" (juste devant strpos, qui correspond a la négation) pour ne pas avoir de "else":
if(!strpos($_SERVER['HTTP_REFERER'],'monsite.fr'))
{
    echo '<SCRIPT language=JavaScript type=text/javascript>
    location.replace("http://www.monsite.fr");
    </SCRIPT>';
    exit();
}

par shinigami » 17 nov. 2005, 22:40

Merci, ca marche.
Le mieux c'est ça :
if(strpos($_SERVER['HTTP_REFERER'],'monsite.fr'))
{ }
else
{
echo '<SCRIPT language=JavaScript type=text/javascript>
location.replace("http://www.monsite.fr");
</SCRIPT>';
exit();
}
Je suis obligé de mettre quelque chose quand le visiteur provient bien de mon site ?

par fab » 17 nov. 2005, 22:10

en méthode pas trop lourde essaye strpos() :
if(strpos($_SERVER['HTTP_REFERER'],'tonsite.com')) {
 echo 'le visiteur vient de ton site';
}
else
{
 echo 'pas de ton site';
}

Controler le referer

par shinigami » 17 nov. 2005, 22:06

Bonjour,
J'ai installé un chat en php sur mon site. Ce que je n'aime pas c'est qu'il y a d'autres sites qui font des liens directement vers mon chat. Les gens peuvent croire que ce chat appartient à d'autres sites...

J'ai pensé à contrôler le referer avec $HTTP_REFERER :
if($HTTP_REFERER!= 'http://www.monsite.fr')
{echo 'Accéder au chat ici : www.monsite.fr';
exit();}
Mais le problème c'est que le referer est différent à chaque fois qu'on est sur une page différente.
Exemple :
www.monsite.fr/page1.php
www.monsite.fr/page2.php
www.monsite.fr/page3.php

Est-t-il possible de contrôler uniquement le nom de domaine en referer ?