Voilà où j'en suis.
dans le fichier modules/mylinks/visit.php,
juste après :
include '../../mainfile.php';
J'insère le code suivant :
$provenance = $_SERVER['HTTP_REFERER']; //récupère l'url de provenance
$tab_provenance = parse_url($provenance); //parse l'url, et créer un tableau
//teste ensuite si l'on vient bien du domaine
if (($tab_provenance['host'] == "tonsite.com") || ($tab_provenance['host'] == "www.tonsite.com"))
{
Puis, à la fin du fichier, juste avant :
?>
J'insère :
}
else { //sinon je redirige vers la page d'accueil ou autre
redirect_header("http://tonsite.com"); //indiquer ici l'url de redirection
}
Avec cette méthode, si la personne clique sur les liens du modules mylinks depuis ton site (avec ou sans les www dans l'url), alors le traitement habituel est effectué.
Sinon, la personne est redirigée vers l'url de ton choix.
Si une personne tape l'url d'un lien mylinks, directement dans leur navigateur elle sera aussi redirigée vers l'url de ton choix.
Reste à voir le cas des personnes derrière un firewall (qui permet de masquer le referer si l'on veut, il me semble), qui seront peut-être redirigées, même si elles passent par ton site.
N'ayant pas de firewall sous la main, je ne peux pas tester ce cas de figure.
A propos du tableau créé par parse_url, voici les autres options disponibles (autre que le domaine donc), pour une adresse de ce type :
Citation :Je continue mes différents tests, mais je pense que tu peux déjà mettre ça en place.
A la limite prévoir une page de redirection particulière, qui indique de t'avertir si des gens se retrouvent là alors qu'il n'y a pas de raisons.
Au moins les premiers temps, le temps de finir le débogage.
si d'autres personnes veulent tester, elles sont les bienvenues.