Existe-t-il des en-têtes HTTP que je pourrais utiliser pour récupérer l'intégralité de l'URL de provenance à l'aide d'un script serveur/côté serveur? Y compris la chaîne de requête, et cetera?Obtention de l'URL du référent dans php (y compris les paramètres)
Répondre
Vous devriez pouvoir l'extraire de la variable $ _SERVER ['HTTP_REFERER'].
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).
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
- 1. y compris dynamiquement les scripts php
- 2. PHP classes et y compris les fichiers
- 3. Comment obtenir la chaîne de requête y compris les paramètres
- 4. Y compris Javascript dans les pages Web
- 5. Y compris les fichiers source dans C
- 6. Y compris un fichier PHP dans un autre
- 7. y compris les modules de contrôleur
- 8. Y compris dll dans l'exe?
- 9. Y compris les documents complets de LaTeX dans d'autres
- 10. Y compris les bibliothèques boost dans les fichiers make
- 11. Y compris les Partials, ASP.NET MVC
- 12. y compris les fichiers sans avoir à spécifier $ _SERVER [ « DOCUMENT_ROOT »]
- 13. Y compris les pages avec $ _GET
- 14. Y compris stdC++ de l'application iPhone
- 15. y compris les en-têtes Qt dans la DLL
- 16. OR opérateur en PHP regex (y compris la validation Unicode)
- 17. PHP: Liste tout compris
- 18. Copier une table (y compris les index) dans postgres
- 19. Obtention d'une trace de pile de chaînes complète, y compris une exception interne
- 20. Y compris WinDbg dans la liste vsjitdebugger
- 21. Y compris les fichiers sensibles à la casse sur Windows à partir de PHP
- 22. .net - Comment utiliser les attributs et y compris les arguments?
- 23. Y compris un fichier PHP, traite les URL relatives de ce répertoire
- 24. Liaison de données ListView y compris ses colonnes
- 25. Stratégie de mise en cache WCF - y compris les dépendances
- 26. Capture tous les liens, y compris la soumission de formulaire
- 27. Y compris */dans un commentaire de bloc de style C
- 28. Découper les espaces principaux, y compris les onglets
- 29. Simple Apache Ant Question: Y compris les dépendances de bibliothèque
- 30. Y compris beaucoup de directives de réécriture dans lighttpd
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. –
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. –
Chacha a raison, c'est ce que vous devez faire. – hobodave