2 domaines comme referrer

cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004 - 12 août 2004 à 01:28
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 - 12 août 2004 à 06:47
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

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
12 août 2004 à 06:18
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
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
12 août 2004 à 06:28
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 !
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
12 août 2004 à 06:47
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
0
Rejoignez-nous