Désactiver les sessions pour les Search Engine crawlers

Désactiver les sessions pour les Search Engine crawlers - PHP - Programmation

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.

Reply

Marsh Posté le 06-05-2005 à 19:02:55   

Reply

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 [:pingouino]

Reply

Marsh Posté le 06-05-2005 à 19:06:54    

Et inversement, des Browsers qui n'ont pas "Mozilla" dedans...

Reply

Marsh Posté le 06-05-2005 à 19:08:57    

Genre tu prend Lynx, y'a pas Mozilla dedans :/

Reply

Marsh Posté le 06-05-2005 à 19:25:34    

Bein le spider de google est basé lynx d'ailleurs non?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

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 [:itm]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

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!


Message édité par esox_ch le 06-05-2005 à 19:42:07

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

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. [:klem3i1]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

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 ?

Reply

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.
 
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 ?


 
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 :sweat:


---------------
http://yoyo.eurotchat.net -> Wednesday 14 September a 02:00:01 up 43 days, 11:47,  2 users,  load average: 0.07, 0.03, 0.00
Reply

Marsh Posté le 06-05-2005 à 20:31:50   

Reply

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


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

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  :kaola:  
 
 
 


---------------
http://yoyo.eurotchat.net -> Wednesday 14 September a 02:00:01 up 43 days, 11:47,  2 users,  load average: 0.07, 0.03, 0.00
Reply

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

Reply

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


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

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 ?

Reply

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 ?

Reply

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).


Message édité par kalex le 06-05-2005 à 23:34:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed