PHPSESSID avec le réferrencement: j'ai peut être 1 solution?

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


SnAKes
WRInaute discret
WRInaute discret
 
Messages: 56
Inscription: Ven Mai 21, 2004 9:36

PHPSESSID avec le réferrencement: j'ai peut être 1 solution?

Message le Lun Mai 24, 2004 23:23

J'ai fais ca sur mes script et ca a l'air de marcher.

accueil.php
=========
function callback($buffer) {
if(!$use_session) return (preg_replace("/[\?\&]PHPSESSID=.*?([^a-z0-9])/","\\1",$buffer));
else return $buffer;
}

// Mise en buffer de la page HTML générée, ne l'affiche pas en temps réel
ob_start("callback");

// inclusion du script de gestion de session: sessionç_start() etc...
include("session.php");
if(!$use_session) {

// Si ne pas utiliser de session alors détruire la session qui vient d'être crée
unset($_GET[session_name()]);
$CookieInfo = session_get_cookie_params();
if ( (empty($CookieInfo['domain'])) && (empty($CookieInfo['secure'])) ) {
setcookie(session_name(), '', time()-3600, $CookieInfo['path']);
} elseif (empty($CookieInfo['secure'])) {
setcookie(session_name(), '', time()-3600, $CookieInfo['path'], $CookieInfo['domain']);
} else {
setcookie(session_name(), '', time()-3600, $CookieInfo['path'], $CookieInfo['domain'], $CookieInfo['secure']);
}
setcookie(session_name(),"",time()-3600,"/");
unset($_COOKIE[session_name()]);
$_SESSION=array();
session_destroy();
}

....
<!-- on inclue le formulaire qui permet de se logger -->
<? include("login.php"); ?>
....

</html>
<? ob_end_flush(); ?>

login.php
======
...
...
$_SESSION["use_session"]="1";
header("Location: accueil.php?use_session=1");

Explications:
========
accueil.php crée une session pour y stocker des variables dont la variable use_session.
Cette variable sera définie par login.php qui affiche le formulaire si login/mot de passe
vides sinon accede a la base de donnée pour tester, si login/pass ok alors creer une session et definie les variables.
de retour a accueil.php si use_session elle est définie a 1 alors on utilise de sessions, sinon on utilise pas donc fo détruire la session en cours.
Cependant comme le session_start induit une réecriture des liens href avec PHPSESSID dedans meme si session_destroy le suit, ob_start permet d'effacer les occurences de PHPSESSID.
Ainsi si on utilise pas les sessions, les liens avec PHPSESSID sont nettoyés.
Si les sessions sont utilisés les liens sont intacts.

Je sais pas si cette solution est vraiment correcte.
J'attends des avis...


SnAKes
WRInaute discret
WRInaute discret
 
Messages: 56
Inscription: Ven Mai 21, 2004 9:36

Modifs

Message le Lun Mai 24, 2004 23:35

login.php
=======
...
header("Location: accueil.php?use_session=1&PHPSESSID=".session_id());

accueil.php
========
function callback($buffer) {
if(!$use_session && !$_SESSION["use_session"]) return (preg_replace("/[\?\&]PHPSESSID=.*?([^a-z0-9])/","\\1",$buffer));
else return $buffer;
}
...
if(!$use_session && !$_SESSION["use_session"]) {
...

ainsi les sessions marcheront meme si le navigateur n'accepte pas les cookies

quiproquo
Nouveau WRInaute
 
Messages: 33
Inscription: Mer Fév 25, 2004 9:51

Message le Mar Mai 25, 2004 8:32

La solution miracle en une ligne !

Mettre tous tes liens en absolu :

http://www.monsite.com/................/mapage.php

Les numéros de session disparaissent automatiquement.

:wink:

Oncle Tom
WRInaute passionné
WRInaute passionné
 
Messages: 812
Inscription: Lun Mar 31, 2003 11:16

Message le Mar Mai 25, 2004 14:07

quiproquo a écrit:La solution miracle en une ligne !

Mettre tous tes liens en absolu :

http://www.monsite.com/................/mapage.php

Les numéros de session disparaissent automatiquement.

:wink:


Et comme ça adios le PR interne ;) tu le dilues encore plus et tes liens ont moins de poids.


lothar
WRInaute accro
WRInaute accro
 
Messages: 1524
Inscription: Sam Juil 12, 2003 11:42

Message le Mar Mai 25, 2004 14:13

Oui mais si j'ai bien compris ça fait des BL non?


Bobez
WRInaute passionné
WRInaute passionné
 
Messages: 716
Inscription: Jeu Mai 20, 2004 13:03

Message le Mar Mai 25, 2004 19:03

The Jedi a écrit:Et comme ça adios le PR interne ;) tu le dilues encore plus et tes liens ont moins de poids.

Non, je crois que les liens sont bien assimilés comme internes s'il s'agit du même nom de domaine. Ou du moins, c'est ce que j'ai entendu dire à plusieurs reprises !
Cela dit, pour pas prendre de risques : utiliser les cookies et/ou l'UR :wink:

Eservice
WRInaute accro
WRInaute accro
 
Messages: 1463
Inscription: Mer Sep 18, 2002 11:28

Message le Mar Mai 25, 2004 19:08

Bonsoir Bobez,

oui les liens relatifs sont toujours remplacés en absolus par les moteurs. Les 2 donnent le même référencement.


Bobez
WRInaute passionné
WRInaute passionné
 
Messages: 716
Inscription: Jeu Mai 20, 2004 13:03

Message le Mar Mai 25, 2004 19:11

C'est ce qu'il me semblait :wink: Merci pour la confirmation.


SnAKes
WRInaute discret
WRInaute discret
 
Messages: 56
Inscription: Ven Mai 21, 2004 9:36

Message le Mer Mai 26, 2004 13:34

Hmmm,
Ouais mais mettre en absolu tous les liens d'un site déjà fait ca prends du tmps.
De plus si je fais des tests sur mon serveur perso pour ensuite les balancer chez l'hébergeur
c relou.
Ou alors fo faire une fonction qui créer les liens...

:-)


lothar
WRInaute accro
WRInaute accro
 
Messages: 1524
Inscription: Sam Juil 12, 2003 11:42

Message le Mer Mai 26, 2004 14:21

Dreamweaver ou un autre éditeur avancé te permet de changer rapidement tous les liens d'un site.

JC91
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 160
Inscription: Ven Déc 19, 2003 16:54

Message le Mer Mai 26, 2004 16:38

lothar a écrit:Dreamweaver ou un autre éditeur avancé te permet de changer rapidement tous les liens d'un site.


Ou n'importe quel logiciel de type 'search&replace" ou un script de qques lignes avec une regexp

JC91
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 160
Inscription: Ven Déc 19, 2003 16:54

Re: PHPSESSID avec le réferrencement: j'ai peut être 1 solut

Message le Mer Mai 26, 2004 16:41

SnAKes a écrit:Cependant comme le session_start induit une réecriture des liens href avec PHPSESSID dedans


non. Il suffit de changer le parametrage par defaut de url_rewriter.tags :

Code: Tout sélectionner
ini_set('url_rewriter.tags','');


SnAKes
WRInaute discret
WRInaute discret
 
Messages: 56
Inscription: Ven Mai 21, 2004 9:36

Message le Jeu Mai 27, 2004 9:48

Ouais mais j'ai vu qqs part qu'en faisant ca que le site ne fonctionnera pas terrible pour ceux qui desactivent le cookie.
En faisant mon truc, je desactive la session quand c pas necessaire, et j'active quand c necessaire. Le PHPSESSID est envoyé en cookie ou en parametre URL selon.
Bref sur mon site ca a l'air de marcher, donc pour moi ca va :)

JC91
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 160
Inscription: Ven Déc 19, 2003 16:54

Message le Jeu Mai 27, 2004 14:50

SnAKes a écrit:Ouais mais j'ai vu qqs part qu'en faisant ca que le site ne fonctionnera pas terrible pour ceux qui desactivent le cookie.


Euh ... c'est évident ;-)
Puisque si tu desactives la re-ecriture d'URL (et donc la transmission de l'ID de session via l'url) et que dans le meme temps, les cookies sont desactivés, et bien l'ID de session n'est plus transmis du tout ...

SnAKes a écrit:En faisant mon truc, je desactive la session quand c pas necessaire, et j'active quand c necessaire. Le PHPSESSID est envoyé en cookie ou en parametre URL selon. Bref sur mon site ca a l'air de marcher, donc pour moi ca va :)


Mon commentaire ne concernait pas ton script en general, mais uniquement la phrase que j'ai citée. Je me suis permis de rectifier ce passage inexact. C'est tout ;-)
Apres, tu en fais ce que tu en veux : et en la matiere il n'y a pas une unique facon de faire ;-).

Donc je re-precise, a titre d'INFORMATION (ce n'est pas une critique, vis-a-vis de toi) que contrairement à ce que tu disais, il est possible de faire un session_start() sans que cela induise une re-ecriture des urls.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Mini, Google Docs

  • Détection de pages similaires
    Cet outil vous permet de calculer la similarité entre 2 pages web. L'algorithme utilisé repose sur l'analyse des occurrences des mots (mais pas sur leur positionnement dans les pages). Google utilise cette notion à certains endroits dans son algorithme, mais de façon bien plus évoluée que ce petit outil... Avoir des pages trop similaires peut entraîner des problèmes d'indexation... Cet outil vous permettra peut-être de résoudre certains problèmes de contenus dupliqués.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités