2 domaines comme referrer

Signaler
Messages postés
236
Date d'inscription
mardi 13 mai 2003
Statut
Membre
Dernière intervention
13 décembre 2004
-
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
comment je fais pour accepter 2 domaines précis ???

if (($_SERVER["HTTP_REFERER"] == '') || (! eregi("domaine1.com", "domaine2.com", $HTTP_REFERER)))

cet exemple ne fonctionne pas

que dois-je faire ???

domaine1 et domaine2 sont acceptés tous les autres non

merci !

3 réponses

Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Ca ressemble à un script d'autorisation de download ca... ou d'acces :P

Tu prends bien $_SERVER['HTTP_REFERER'] et tu n'as qu'à prendre avec un substr étant donné que tu sais quel est la grandeur que tu autorises ... sinon tu peux te casses la tete avec un ereg.

(Attention, certain site ont http://domaine.com et http://www.domain.com)

Exemple :

<?php
$authorized = array(
'http://www.domain.com',
'http://domain.com');

$can_go = false;
for($i=0;$i<count($authorized);$i++)
if(substr($_SERVER['HTTP_REFERER'],0,strlen($authorized[$i]))==$authorized[$i]){
$can_go = true;
break;
}

if($can_go==false)
die("Aucun Acces");
?>


Si ca te plait, choisie réponse acceptée !

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
http://www.lookstrike.com
Messages postés
236
Date d'inscription
mardi 13 mai 2003
Statut
Membre
Dernière intervention
13 décembre 2004

je pourrais pas faire comme ceci:

$authorized = array(
'http://www.domain.com',
'http://domain.com');

if (($_SERVER["HTTP_REFERER"] == '') || (! eregi($authorized, $HTTP_REFERER)))

le but est de simplement vérifier que le referrer vient de mes domaines et pas d'ailleurs... pourra également servir éventuellement à promotionner certains clients selon la provenance du visiteur...

peut-être bien aussi pour un espace pour download client...

pour la question de www et pas de www je mets uniquement domaine.com comme cela ca fonctionne dans les 2 cas... en tout cas pour un seul referrer ca fonctionnait...

merci !
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Pourquoi me poser la question ? Essais le... (ca ne marchera pas...) Donc tu as ta réponse à ta propre question...

Pour l'histoire du www ou pas, c'est justement ca le danger... si jamais le referer vient de www bah faut tu saches le gérer et aussi de "sans www"... Parce que sinon tu vas afficher un message d'erreur aux personnes qui sont sur ton site pareil... et ca c'est chiant, surtout si tu es le seul a partager des fichiers de download et qu'ils sont biens :)

Par contre, attention... voici ce que php.net dit sur ca :
L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateur permettent même de modifier la valeur de HTTP_REFERER, sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.


Si ton site est un site professionel, je te conseil de ne pas utiliser ce genre de script pour que ton site fonctionne pour tous les navigateurs.

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
http://www.lookstrike.com