L'en-tête HTTP_REFERER
doit être envoyé par le navigateur du client. Vous ne pouvez pas compter sur l'envoi.
Scénarios quand il ne s'envoyé comprennent pas:
- L'utilisateur entre l'adresse à la main
- L'utilisateur ouvre un lien dans l'un des grands clients E-Mail qui go through great lengths to obscure the REFERER
- de l'utilisateur le navigateur est configuré pour bloquer l'en-tête du référent (rare)
- L'utilisateur change de protocole (c.-à-d. un lien sur un site http pointant vers un site https, ou vice versa)
Dans ces cas, il n'y a rien que vous puissiez faire.
Si vous contrôlez le site de liaison cependant, vous pouvez ajouter un ID referrer dans le paramètre GET sur le lien:
http://example.com/?from=mysite
vous pouvez ensuite analyser le paramètre from
dans votre script.
La conversion de la chaîne de provenance vers une adresse IP n'est généralement pas une bonne idée, car de nombreuses adresses IP hébergent des dizaines ou des centaines de sites.La distinction dont est issu le site sera perdue de cette façon.
Comme je l'ai soupçonné. Merci! Upped + et accepté! –