Skyblog + referer + ie

Victor_
Invité n'ayant pas de compte PHPfrance

30 mars 2006, 11:24

Houla, sur 3 mots dans mon sujet, j'ai réussi à dire skyblog et ie
J'en entend déjà grincer des dents !
Il ne faut pas :)

Tout d'abord bonjour

Je suis actuellement en pleine réalisation d'un service web, dans lequel j'ai besoin de connaître l'url de provenance d'un utilisateur.
Pour l'instant, cela marche très bien sur tout ce que j'ai pu tester de blog ou de site, sous ie comme sous firefox.

Malheureusement, il y a un cas, et pas des moindres, dans lequel le referer ne marche pas.
Et ce cas est celui d'un referer skyblog et sous IE (sous firefox ça marche très bien)

J'ai donc une page de test toute simple comprennant :

Code : Tout sélectionner

<? echo $_SERVER['HTTP_REFERER']; ?>
Un lien sur cette page, sur un skyblog, et sous ie me donne un referer nul.

Quelqu'un a t-il une idée ou une solution ?

Merci d'avance !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mars 2006, 11:30

Je sais que le REFERER n'est pas une variable en laquelle il faut faire confiance.

Elle dépent trop du navigateur
' HTTP_REFERER '
L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateur permettent même de modifier la valeur de HTTP_REFERER , sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Victor_
Invité n'ayant pas de compte PHPfrance

30 mars 2006, 11:30

En fait, j'ai posté ça au mauvais endroit, puisque le problême n'est pas php...
Ca serait plutot html, et en poussant un peu plus loin l'investigation, j'ai remarqué qu'un lien skyblog contenait rel="nofollow"
Surement la source du problême :)

Invité
Invité n'ayant pas de compte PHPfrance

30 mars 2006, 11:33

Je sais que le REFERER n'est pas une variable en laquelle il faut faire confiance.

Elle dépent trop du navigateur
Mais alors comment fonctionnent les systèmes de trackback de blog ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mars 2006, 11:35

Je n'ai pas dit que personne ne l'utilisait mais que quand tu l'utilise, il faut prévoir le cas où elle n'est pas renseignée ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 505 Messages

31 mars 2006, 08:33

Sous IE, le referer n'est pas renseigné dans au moins les cas suivants.
- Utilisation du bookmark (idem pour Firefox)
- Entrée d'une URL directement dans la zone de saisie URL (idem pour Firefox)
- Utilisation de javascript (typepiquement quand tu as un menu qui ne comporte pas des liens mais du JS, ou que tu as des liens mais avec un compteur de click).

ViPHP
ViPHP | 656 Messages

06 avr. 2006, 17:21

L'attribut nofollow est fait pour les moteurs de recherche. Il ne devrais pas avoir d'influence sur la variable REF.

Les liens de Skyblogs sont fait de cette mannière :

Code : Tout sélectionner

<a class="link" rel="nofollow" href="http://www.site.com" onclick="window.open(this.href); return false;">Lien</a>
Donc c'est un Javascript qui ouvre la page, pas un vrai lien.

Mammouth du PHP | 505 Messages

06 avr. 2006, 20:49

Code : Tout sélectionner

<a class="link" rel="nofollow" href="http://www.site.com" onclick="window.open(this.href); return false;">Lien</a>
Plutot compliquer comme solution...
J'aurai fait ca pour un resultat identique

Code : Tout sélectionner

<a class="link" rel="nofollow" href="http://www.site.com" target="_blank">Lien</a>

ViPHP
ViPHP | 656 Messages

07 avr. 2006, 18:05

Mais là, tes liens auraient été suivit par Google.