PHPSESSID . grrr.

Nouveau WRInaute
bonjour tous,

j'ai lu tous les messages du forum sur ce sujet, en long, et large,et en travesr. J'ai essayé toutes les ruses, rien n'y fait. J'ai toujours le PHPSESSID qui apparati dans la première page affichée.
Y'a t'il une autre solution que de mettre des URLS absolues partout sur mon site, ce qui ne me parait pas génial : ca m'empeche d'utiliser mon serveur de test, sur ma machine en local, puisque le moindre des liens envoie vers le site en ligne.

Voila ce que j'ai essayé, en bref :
dans le htacesse, j'ai tout essayé, et j'ai toujours une erreur 500:

Code:
php_flag session.use_trans_sid Off
ou encore
Code:
php_flag session.use_trans_sid 0
ou encore
Code:
Options +FollowSymlinks 
RewriteEngine on 
php_value session.use_trans_sid 0 
RewriteRule ^([0-9a-z]+)\.htm$ ?cat=$1 [NC,L]


dans les fichiers php avec false / 0 ou true / 1 :

Code:
set_magic_quotes_runtime(0); 
ini_set('session.use_trans_sid', 0); 
ini_set('register_globals', 0); 
ini_set('session.use_cookies', 1); 
ini_set('session.use_only_cookies', 1); 
ini_set('session.url_rewriter.tags', ''); 
session_set_cookie_params(3600,'/','.emunova.net'); 
setlocale(LC_TIME,'fr_FR');

Si qq'un a la solution de ce pb de fou, je lui en serai eternellement reconnaissant !

PS : je suis chez sivit
 
WRInaute discret
utilise des cookie javascript et pis voilà

faut se faire une raison ...


PJ
"Quand une variable te gêne, enlève-la "
extrait de " Le Gateau selon php" chap 3 ed. plomb 2001
 
WRInaute passionné
Moi aussi j'ai ce "problème".

Mais en fait, ce n'est pas grave du tout, puisque Google n'ouvre pas de session (en tout cas pas chez moi), puisqu'il faut pour cela mettre un login et un password. Bref, les moteurs (dans mon système) n'ont pas de $phpsessid, et les visiteurs n'ont ce problème (qui n'en est pas un) que pour une page.

Les cookies ? Bof.

aK.
 
WRInaute discret
aK a dit:
Les cookies ? Bof.


les sessions php ne sont rien d'autre que des cookies. il sont php , c'est tout (oui oui, et plus fins, on va pas rentrer dans les détails techniques de cuisine)
 
WRInaute discret
le problème, c'est ke notre ami googlebot n'accepte pas les coukies

et en cas de refus du cookie, le sid est passé via l'url

le sid n'est pas forcement lié au zone membre, les sites de commerce utilisent aussi les session pour garder en memoire le contenu d'un caddy notament
 
Nouveau WRInaute
avec .htaccess cela marche

J'avais le même problème.

Je fonctionne en session sur toutes les pages
Dans l'absolu, je pourrai éviter sur une bonne partie des pages, qui sont statiques, mais la mécanique est plus uniforme ainsi.

Le problème précis était qu'au premier affichage, les liens sont complétés de
Code:
?PHPSESSID=le_code_de_session_a_rallonge.

Par contre, au premier clic sur un lien, le cookie de session est pris en compte et ce marquage disparaît.

Pour régler ce problème, un ".htaccess" à la racine, contenant la directive
Code:
php_value session.use_trans_sid none,
semble marcher tout à fait ici (php 4.2.0).

Quant à passer à l'URL rewriting, (je crois que ) c'est parfait pour transformer des pages associées à quelques paramètres, en pages d'apparence statique (par exemple ?lang=fr&rubrique=truc transformé en _lang_fr_rub_truc), mais ça ne résout pas le problème de l'identification unique des données du visiteur. Je me trompe ?

Vincent.

PS : n'allez pas vérifier ça sur mon site, je parle de la version suivante ! L'actuelle est une catastrophe en termes de référencement.
 
WRInaute occasionnel
Bonjour,
J'ai créé un fichier .htaccess avec la ligne que tu donne mais il semblerait que ce ne soit pas un fichier .htaccess valide
C'est la première fois que j'utilise .htaccess, est ce que tu pourrait me donner le contenu exact du fichier pour éviter d'avoir els numeros de sessions dans l'url?
Merci

(au fait, quelqu'un sait comment on peut tester sous windonws avec easyphp le .htacess étant donné que windows refuse d'appeler un fichier .htaccess???)
 
Nouveau WRInaute
.htaccess et session.use_trans_sid : j'ai une solution !

Pour répondre à ta question, le contenu de .htaccess est le suivant :
Code:
php_value session.use_trans_sid 0
ou bien
Code:
php_flag session.use_trans_sid off

Mais ! Chez mon hébergeur OVH, ça ne faisait rien: erreur 500. Alors que ça marche sur mon site de développement (EasyPhp sur Windows).

Egalement, mettre 0 dans session.use_trans_sid ne donnait rien (d'ailleurs, ce n'est pas autorisé d'après la doc).

Je m'en suis sorti avec ''url_rewriter.tags', qui définit quels tags font l'objet d'une transmission de session automatique. Je n'ai laissé dans cette liste que 'form=fakeentry'

Voici au bout du compte ce qu'il y a au début de mon script de session, appelé à chaque page.

Code:
ini_set('session.use_trans_sid','1');   // pour me souvenir que '0' ne marche pas
ini_set('url_rewriter.tags','form=fakeentry'); // trans_sid seulement pour les forms
ini_set('session.auto_start','0'); // session, tu ne démarreras que quand je demanderais
ini_set('session.use_cookies','1'); // plutôt avec des cookies
ini_set('session.use_only_cookies','0'); // pas forcément avec des cookies
ini_set('session.name','OKSES'); // c'est mon identifiant de sesion
Au fait : pour nommer un fichier ".htaccess" sous windows, c'est possible avec l'invite de commande. Tu l'appelles htaccess.txt, puis dans l'invite de commandes tu fais "rename htaccess.txt .htaccess".

J'espère que ça répond à ce sujet et que ça évitera de la sueur à d'autres !

Vincent.

PS : maintenant mon site est visitable http://www.oklin.com
 
WRInaute passionné
Moi bizarrement je ne vois jamais de phpsessid nul part sur mon site que je fais en ce moment (site avec espace membre avec cookies et tout le tralala)
 
WRInaute discret
Salut

set_magic_quotes_runtime(0);
ini_set('session.use_trans_sid', 0);
ini_set('register_globals', 0);
ini_set('session.use_cookies', 1);
ini_set('session.use_only_cookies', 1);
ini_set('session.url_rewriter.tags', '');
session_set_cookie_params(3600,'/','.emunova.net');
setlocale(LC_TIME,'fr_FR');


check la doc de ini_set tu verras que certains paramétres que tu essaye de setuper via ini_set ne sont pas asséssible notamement celui de use_trans_sid

perso je suis en train de faire une méthode tres simple, je détecte le user agent et j'ajoute l'url avec sessions si ce n'est pas un moteur de recherche
 
Nouveau WRInaute
moi j'ai fait une partie admin avec session et j'ai jamais entendu parler de phpsessid, j'en ai deja vu plein dans mes urls et je c que ca correspont a l'id de session et tout ca avec les infos mais pourquoi l'avoir dans l'url si il pase tranquil :)
 
WRInaute passionné
XoSt a dit:
Moi bizarrement je ne vois jamais de phpsessid nul part sur mon site que je fais en ce moment (site avec espace membre avec cookies et tout le tralala)

Oui si ton session.trans_sid est à 0 dans le php.ini :D
 
WRInaute passionné
Le jour ou j'ai écrit ca j'étais sur un mutualisé, et en fait il y en avait mais je ne les avait meme pas vus lol :-)
 
Discussions similaires
Haut