Désactiver les sessions pour les Search Engine crawlers - PHP - Programmation
Marsh Posté le 06-05-2005 à 19:05:31
Tout ce qui touche à de la détection de User-Agent dans ce cas est purement merdique Rien n'empêche un moteur de rajouter la chaîne mozilla dans son http-user-agent
Marsh Posté le 06-05-2005 à 19:06:54
Et inversement, des Browsers qui n'ont pas "Mozilla" dedans...
Marsh Posté le 06-05-2005 à 19:25:34
Bein le spider de google est basé lynx d'ailleurs non?
Marsh Posté le 06-05-2005 à 19:28:58
Plus les petits comiques qui s'amusent à modifier le user-agent qu'ils transmettent (via firewall). Tu me diras, y zont qu'à pas faire ça
Marsh Posté le 06-05-2005 à 19:41:18
Uè mè saLfè g3av, m0a sUr mA sId jfè c30i3 o k3uF k3 jsUi s0u n3tScaP 0.0.1a, saLfè A d0nF!
Marsh Posté le 06-05-2005 à 20:07:44
esox_ch a écrit : Uè mè saLfè g3av, m0a sUr mA sId jfè c30i3 o k3uF k3 jsUi s0u n3tScaP 0.0.1a, saLfè A d0nF! |
Moi je fais croire que je suis sous Linux, pour faire partie de l'e1EEte, alors qu'en réalité, je suis sous Windows et que je tchate sur M$N.
Marsh Posté le 06-05-2005 à 20:24:29
L'idee est de ne pas demarrer la session sur le site lorsqu'il est visité par le spider de google afin de ne pas avoir de sessionid dans mes url ou de cookies.
Sinon, j'ai vu des exemples du genre:
if (preg_match("googlebot", $_SERVER['HTTP_USER_AGENT']))
{ session_start() ;
}
Comment me conseillez vous d'aborder ce probleme ?
Marsh Posté le 06-05-2005 à 20:31:50
ruellanl a écrit : L'idee est de ne pas demarrer la session sur le site lorsqu'il est visité par le spider de google afin de ne pas avoir de sessionid dans mes url_ ou de cookies. |
Pour tes sessions, qu'utilises-tu ? Un SID dans l'url ou dans un cookie ?
A mon avis, si tu passes par les cookies, tu peux laisser les sessions "normales".
Cependant, si tu passes le SID par l'url, niveau référencement, se sera la misère
Marsh Posté le 06-05-2005 à 20:38:13
Sans parler du point de vue secu qui fera plaisir a tout hacker aillant envie de se logger en admin sur le site
Marsh Posté le 06-05-2005 à 20:51:51
esox_ch a écrit : Sans parler du point de vue secu qui fera plaisir a tout hacker aillant envie de se logger en admin sur le site |
Si c'est pour un espace membre :
On inclut dans le cookie le login concassé avec le login et un grain de sel(propre à chaque utilisateur) en md5.
Evidement, les détracteurs de la sécurité me crierons "blasphème, etc." et je suis tout ouï a écouter leur conseils en la matière
Marsh Posté le 06-05-2005 à 21:31:23
Le probleme, c'est que j'ai cru comprendre que PHP met automatiquement les sessionid dans l'url si le navigateur refuse les cookies.
Or, comme le spider de google ne gere pas les cookies, je crains que PHP lui mette automatiquement les sessionid dans l'url, c'est pour cela que je cherche a realiser une sorte de cloaking pour les bots dans lequel les fonctionnalites du site liees aux sessions sont desactivees.
Lothaire
Marsh Posté le 06-05-2005 à 21:42:38
Tu as mal cru comprendre, on peut bloquer ce comportement avec une fonction qui se trouve dans la page session de php.net
Marsh Posté le 06-05-2005 à 22:13:53
Dans ce cas la, que va-t-il se passer si googlebot parcours mon site et que je laisse un session_start() en haut de mon code dans chacune de mes pages ?
Est ce que le fait qu'il recoit un cookie de mon site va influer sur mon referencement ou mon ranking ?
Marsh Posté le 06-05-2005 à 22:18:30
si j'ai bien compris, je dois mettre cette ligne dans htaccess: php_flag session.use_trans_sid off ?
Marsh Posté le 06-05-2005 à 23:33:59
D'une manière générale, il ne faut JAMAIS changer le contenu d'une page HTML selon l'user agent.
1 C'est pas fiable.
2 Google a un robot (Mozilla/5.0 compatible; Googlebot) qui semble destiné à vérifier ce genre de chose, on dit même qu'il gère le javascript (sûrement que les redirection).
En plus les sessions dans l'URL, c'est pas terrible niveau sécu.
esox_ch a écrit : Bein le spider de google est basé lynx d'ailleurs non? |
Non, c'est juste que lynx et google voient la même chose (la sémantique).
Marsh Posté le 06-05-2005 à 19:02:55
Bonjour,
Je souhaite désactiver les sessions de mon site lorsqu'il est parcouru par un spider de search engine tel que googlebot.
En faisant des recherches, j'ai trouvé une technique qui consiste a ajouter ce code pour initialiser (ou non) mes sessions:
if (preg_match("/Mozilla/i", $_SERVER['HTTP_USER_AGENT']))
{ session_start() ;
}
Qu'en pensez vous ?
Merci pour vos conseils.