PHPSESSID avec le réferrencement: j'ai peut être 1 solution?
14 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
PHPSESSID avec le réferrencement: j'ai peut être 1 solution?
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...
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...
Modifs
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
=======
...
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
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.

Mettre tous tes liens en absolu :
http://www.monsite.com/................/mapage.php
Les numéros de session disparaissent automatiquement.
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.
Et comme ça adios le PR interne
The Jedi a écrit:Et comme ça adios le PR internetu 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
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...

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...
Re: PHPSESSID avec le réferrencement: j'ai peut être 1 solut
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','');
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
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
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.
14 messages • Page 1 sur 1
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 :
- Contrer une redirection 302 intempestive...
- Utiliser Actifpub pour l'intégration d'un flux RSS externe sur son site
- Intégrer facilement un flux RSS externe
- Tutorial Google Maps API
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- Protégez-vous contre le nofollow
- ImageAmerica vient renforcer Google Earth et Google Maps
- url rewriting chez free... Peut-être une solution...
- Etre dans Google... ou ne pas être... telle est la question
- être ou ne pas être sur Google
- Phpsessid
- Pourquoi ?PHPSESSID ?
- phpsessid et desindexation
- suppression du PHPSESSID
- PHPSESSID et référencement
- phpsessid et easyphp
- Référencement et PHPSESSID
- PHPSESSID ... grrr....
- GG et OVH-PHPSESSID
- Le retour du PHPSESSID
- Google, cookie et phpsessid...
- Phpsessid dans l'url
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








le forum