Lorsque vous vous rendez sur le site de mon client, celui-ci doit vérifier que vous avez 21 ans. Si vous cliquez sur une page du domaine, il vérifie si le cookie d'âge vérifié est défini. Sinon, il vous faudra une page de défi pour indiquer votre date de naissance, après quoi elle vous dirigera vers la page d'index (ou une page de rejet, si vous avez mal répondu).
Le problème que j'ai rencontré est le suivant:
Si un utilisateur trouve l'une des pages dans un moteur de recherche après avoir réussi le test d'âge, comment puis-je le renvoyer à la page qu'il demandait à l'origine?
Exemple:
L'utilisateur trouve www.example.com/blog.php
dans Google. Après avoir cliqué sur le lien, il est redirigé vers www.example.com/age_verify.php
. Une fois le test réussi, comment puis-je les renvoyer à www.example.com/blog.php
au lieu de la valeur par défaut www.example.com
?
Je suis déconcerté. Je suis sûr que je traite avec des référents HTTP, mais je ne sais pas à quel titre.
Ne comptez pas sur le référant. Vous pouvez stocker l'URL en tant que paramètre de chaîne de requête ou en tant que paramètre de session.
Dans age_verify.php, vous devez enregistrer $ _SERVER ['HTTP_REFERER'], qui est le référent dans une variable, par exemple $ referer.
Il y a plusieurs façons de le prendre à partir de là, mais l'un des moyens consiste simplement à définir le cookie et à appeler age_verify.php? Ref = $ referer (facile à effectuer via un formulaire GET).
Avant TOUTE sortie de age_verify.php, il faut vérifier le cookie et, s’il existe, rediriger vers $ referer. Ceci est fait en utilisant l'en-tête ("Location: $ referer").