2009-10-05 7 views
4

Est-il possible de savoir d'où viennent les utilisateurs? Par exemple, je donne une bannière à un client, et le lien. Le client peut mettre la bannière/lien à n'importe quel site Web, disons à un site appelé www.domain.com.Suivre d'où viennent les utilisateurs en PHP?

Lorsque l'utilisateur clique sur la bannière, est-il possible de savoir d'où il vient (www.domain.com)?

Répondre

12

Jetez un oeil à la variable HTTP_REFERER. Il vous dira sur quel site l'utilisateur se trouvait avant de venir sur votre site.

+0

Les utilisateurs peuvent dire à leur navigateur pour ne pas envoyer les informations referrer. – gnud

+1

Les utilisateurs peuvent également demander au navigateur de ne pas afficher les images. Rien que vous pouvez faire à ce sujet – Marius

+0

Alors que dois-je faire? En utilisant HTTP_REFERER? Y a-t-il d'autres méthodes? – bbtang

4

Oui. Vous donnez au client une URL unique, comme www.yourdomain.com/in/e10c89ee4fec1a0983179c8231e30a45. Ensuite, suivez ces URL et ces accès dans une base de données.

Le vrai problème est le suivi des visiteurs uniques.

+0

Utilisateurs uniques? Par IP? Altho utilisateurs IP dynamiques vont me donner du mal. Eh bien, j'aime vos idées d'URL uniques. Je vais prendre cela en considération. Merci gnud :) – bbtang

+0

Il est difficile de savoir si un autre utilisateur est un nouvel utilisateur, ou le même qui a suivi le lien. Ou un clic-bot. C'est ce que je veux dire par des utilisateurs uniques. – gnud

0

Voir

$_SERVER["HTTP_REFERER"] 

Bien que ne peut pas toujours faire confiance comme elle est définie par le client, mais vous ne se soucient pas dans votre cas.

0

La seule chance est que vous utilisiez un identifiant unique (comme indiqué par gnud). Ceci vous permet de suivre les liens entrants. Le référent peut être modifié/supprimé des navigateurs ou des mandataires (de nombreuses entreprises le font). Utiliser l'adresse IP pour suivre les visiteurs uniques est une mauvaise idée. AOL continue de regrouper les adresses IP et vous pouvez utiliser des adresses IP différentes toutes les quelques minutes et avec le compte proxys yiur ne sera pas très précis.

Je dirais que je vais avec l'ID unique.

0

Dans certains scénarios, $ _SERVER ["HTTP_REFERER"] ne fonctionne que lorsque php (php.ini) est configuré avec register_globals bool configuré sur on.

Les globaux de registre peuvent permettre l'exploitation dans des applications php codées de manière lâche. Communément dans les applications qui permettent aux utilisateurs de publier des données.

J'ai utilisé la méthode suivante dans le passé pour vérifier les référents dans les applications où je contrôle l'entrée de l'opérateur.

session_start(); 
if(!isset($_SESSION['url_referer'])) 
{ 
$_SESSION['url_referer'] = $_SERVER['HTTP_REFERER']; 
} 

Sans hachage des chaînes dans les variables de session, je ne connais pas de pratique plus efficace. Est-ce que quelqu'un connaît les meilleures pratiques?

Finest Cordialement,

Brad

Questions connexes