Rediriger un REFERER


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3884
Inscription: 16 Nov 2004

Rediriger un REFERER

Message le Mar Déc 26, 2006 9:29

Bonjour,

Je voudrais rediriger un referer mais la variable REFERER est visiblement gardée dans le cache du navigateur et comme je renvoie sur le meme site (mais pas sur la meme page) ben le code boucle sur lui même. Une idée pour sortir de la boucle ?

Code: Tout sélectionner
$url = $_SERVER["HTTP_REFERER"];
$r = strstr($url,'expression');
if($r != FALSE)
{
header("Location: http://www.monsite.com/page1");
exit;
}


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2199
Inscription: 10 Avr 2005

Message le Mar Déc 26, 2006 9:59

Salut,

Certains firewall empêchent aussi de tracer la navigation, je pense à Kerio que j'utilise.

Code: Tout sélectionner
if (isset($_SERVER["HTTP_REFERER"]))
....
else
...


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3884
Inscription: 16 Nov 2004

Message le Mar Déc 26, 2006 14:45

pas mieux, la variable n'est pas affectée donc la ca ne marche plus du tout.

dorian53 a écrit:
Code: Tout sélectionner
if (isset($_SERVER["HTTP_REFERER"]))
....
else
...


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2199
Inscription: 10 Avr 2005

Message le Mar Déc 26, 2006 15:02

KOogar a écrit:pas mieux, la variable n'est pas affectée donc la ca ne marche plus du tout.

dorian53 a écrit:
Code: Tout sélectionner
if (isset($_SERVER["HTTP_REFERER"]))
....
else
...


T'es sur ?

Justement, pas affectée -> répond FALSE à isset().

J'utilise cette méthode et ça marche.

billyboylindien
WRInaute impliqué
WRInaute impliqué
 
Messages: 578
Inscription: 28 Fév 2005

Message le Mar Déc 26, 2006 16:15

$r2=TRUE;
$url = $_SERVER["HTTP_REFERER"];
$r = strstr($url,'expression');
if($r != FALSE && $r2)
{
header("Location: http://www.monsite.com/page1");
global $r2=FALSE;
exit;
}

Pour ne pas boucler non ?


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2199
Inscription: 10 Avr 2005

Message le Mar Déc 26, 2006 16:25

Code: Tout sélectionner
if (isset($_SERVER["HTTP_REFERER"]))
   header('Location: ' . $_SERVER["HTTP_REFERER"]);
else
   header('Location: http://www.example.com/page1');

exit;


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3884
Inscription: 16 Nov 2004

Message le Mer Déc 27, 2006 11:29

dorian53 >> mon serveur (OVH dans ce cas) n'affecte pas la variable

billyboylindien >> même avec une global je reviens dans la boucle, pour en sortir 1 define($r2,FALSE) serait mieux mais je vais ou apres ?? Sortir de la boucle pour aller ou ??

Je pensais plus à un moyen de reaffecté une valeur à la variable globale REFERER pour sortir vraiment de la boucle et couper court au script.

Ca etant je peux bidouiller, renvoyer sur une autre page d'une autre site qui cette page redirigera sur la bonne page. Ca fait bidouille.

Je pensais pas galerer pour rediriger 1 referer sur la page de mon choix. C'est fait :?


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités