2009-07-26 4 views

Répondre

10

Vous devriez pouvoir l'extraire de la variable $ _SERVER ['HTTP_REFERER'].

+0

Je suis conscient de cela, mais y at-il d'autres en-têtes http, ou d'autres techniques? Je crois que le référant peut modifier manuellement cet en-tête http donc je pensais qu'il y avait une autre technique qui était utilisée. –

+4

Le parrain est envoyé par le navigateur je crois. Et de toute façon, si quelqu'un le modifie, ils vont le modifier et vous ne pouvez rien y faire. Monde imparfait, unfourtunatley. –

+0

Chacha a raison, c'est ce que vous devez faire. – hobodave

3

Pour ajouter à l'argument de Chacha, je ne sais pas si vous voulez capturer la partie hash côté client de l'URL du référent (parfois, vous le faites). C'est à dire. Si le client provient de "http://www.domain.com?x=3#y=5", le $ _SERVER ['HTTP_REFERER'] contiendra uniquement "http://www.domain.com?x=3" et la partie de hachage ne sera pas envoyée au serveur. Si vous souhaitez capturer cette partie de hachage (officiellement appelée fragment d'URL), vous ne pouvez le faire que si la page de référence est votre propre page, c'est-à-dire si vous pouvez écrire du code sur cette page. Si c'est le cas, envoyez simplement une requête AJAX à votre service Web de statistiques qui capture les référents, et envoyez l'URL complète (javascript a accès à cette partie de l'URL).

+0

J'ajouterai que j'ai fait quelques recherches, et il y a des réclamations que "certains navigateurs" envoient le hachage, mais mon essai montre qu'aucun des navigateurs "modernes" (IE 6+, Safari 2+, Firefox 2+, Opera 9+, Chrome) envoie le hachage. – eyelidlessness

Questions connexes