Galdon Posté 14 Juin 2008 Posté 14 Juin 2008 Bonjour, je suis chez OVH en mutualisé, et naturellement je me suis retrouvé face au problème du ini_set qui renvoie toujours false. C'est ainsi que je me suis trouvé une petite astuce toute simple pour éviter que Googlebot ne tombe sur des pages avec PHPSESSID : ne pas exécuter session_start(). J'ai pu voir pleins de solutions plus complexes genre gérer les sessions sois même uniquement avec des cookies, et pourtant un tout petit test suffit, voici la fonction qui vérifie si le visiteur est Googlebot (c'est basé sur l'USER_AGENT, pas besoin de s'embêter avec du cloacking par IP) : function is_googlebot(){ $agent = $_SERVER["HTTP_USER_AGENT"]; $trouve = strpos($agent,"Googlebot"); // le visiteur est Googlebot if($trouve !== false) return true; // le visiteur n'est pas Googlebot else return false;}if(!is_googlebot()) session_start(); Après on peut toujours l'améliorer pour détecter d'autres bots (Yahoo, Google Adsense...). Je vais utiliser cette solution en complément de cette ligne : "SetEnv SESSION_USE_TRANS_SID 0" dans le .htaccess (ca ne marche que chez OVH, pas en local '
BonBackLink Posté 15 Juin 2008 Posté 15 Juin 2008 Cela à l'air pas mal mais est tu sur que les sessions ne sont démarré qu'a cet endroit ? A plus.
Galdon Posté 16 Juin 2008 Auteur Posté 16 Juin 2008 Bah en fait en pratique, c'est légèrement plus élaboré, j'ai créé une fonction start() dans ma classe session : function start(){ if(!is_googlebot()){ session_start(); return true; } else return false;} Comme ca je suis sûr que la vérification a toujours lieu
captain_torche Posté 16 Juin 2008 Posté 16 Juin 2008 N'oublie pas que Google n'est pas le seul a posséder des robots d'indexation. J'espère que tu en tiens compte dans ta fonction is_googlebot()
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant