IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] Cacher le PHPSESSID ?


Sujet :

Langage PHP

  1. #1
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut [Cookies] Cacher le PHPSESSID ?
    Bonjour à tous.

    Après quelques recherches, je me résout à faire appel à votre aide
    Je cherche à effacer le PHPSESSID qui apparait spontanément dans mes URL (notement pour les moteurs de recherche). Je me sert de la variable de session pour connaitre la langue choisie par mon visiteur pour naviguer sur mon site (tout est inclus en fonction de cette variable).

    J'ai essayé un htaccess conenant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php_flag session.use_trans_sid off
    , mais ça me génère une erreur chez mon hébergeur (OVH).

    J'ai aussi essayé de mettre dans mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @ini_set('session.use_trans_sid', 0);
    avant mon session_start, mais cela semble demeurer sans effet (test en y accédant depuis mon navigateur et en simulant un spider depuis http://www.spider-simulator.com/).

    Avez vous en stock une solution fiable qui me permette de faire ça ?

    Ou avez-vous une idée qui me permettrai par exemple de simuler un répertoire FR/ et un autre EN/ en fonction de la langue, qui serait traduit en interne ? (url rewriting ? je ne sait pas, jamais essayé, ça reste assez obscur pour moi) sachant que je peux avoir jusqu'à 12 variables différentes transmises par l'URL...

    Merci d'avance à vous.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 859
    Points
    1 859
    Par défaut
    Il faut stocker le PHPSESSID dans un cookie plutôt que dans l'URL. Il existe de nombreuses manières pour faire celà, et je ne peux pas choisir pour vous celle qui vous convient le mieux. Voici donc un lien :
    http://fr.php.net/manual/fr/ref.session.php
    qui devrait vous expliquer tout celà mieux que moi.

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Merci pour ton lien. Je viens d'essayer d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('session.use_only_cookies', 1);
    Mais le problème demeure... Pas de message d'erreur, mais toujours l'id de session de visible ...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Tiens moi j'avais très exactement le même problème que toi, chez ovh et tout.

    J'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset( $_COOKIE[ session_name() ] ) )
    {
     session_start()
    ;}
    ça force le passage des sessions en cookies, y'a plus d'id de session dans l'url.

  5. #5
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    J'ai pas compris le coup du répertoire /EN ou /FR pour traduire tes pages, tu peux m'en dire un peu plus?

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 94
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par titoumimi
    Ou avez-vous une idée qui me permettrai par exemple de simuler un répertoire FR/ et un autre EN/ en fonction de la langue, qui serait traduit en interne ? (url rewriting ? je ne sait pas, jamais essayé, ça reste assez obscur pour moi) sachant que je peux avoir jusqu'à 12 variables différentes transmises par l'URL...
    C'est relativement simple à faire en url rewriting:
    fichier .htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^\/[([a-zA-Z]+)\/(.*)$ $2&lang=$1  [NC,L]
    Cela va transformer une url du type:
    http://www.domain.tld/en/index.php?id=1
    en:
    http://www.domain.tld/en/index.php?id=1&lang=en

    Cela pose un petit problème lorsque tu ne passes pas d'autre paramêtres, mais en jouant sur la regexp on peut s'en arranger

  7. #7
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Citation Envoyé par xave
    J'ai pas compris le coup du répertoire /EN ou /FR pour traduire tes pages, tu peux m'en dire un peu plus?

    En fait, si je pouvait trouver un système d'url rewriting qui me modifierai mes liens en ./FR/index.php?id_p=12, et que ça comprenne /index.php?id_p=12&langue=FR, ça serait le top, ça distinguerai bien mes langues du point de vue des moteurs de recherche (le problème, c'est que je peux bien sur le faire du point de vue structurel, mais que ça ne m'arrange pas étant donné que ça me fait dupliquer mon contenu...)


    Merci aux autres, j'essaie vos solutions, et je vous tiens au courant.

  8. #8
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Citation Envoyé par psychoBob
    Tiens moi j'avais très exactement le même problème que toi, chez ovh et tout.

    J'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset( $_COOKIE[ session_name() ] ) )
    {
     session_start()
    ;}
    ça force le passage des sessions en cookies, y'a plus d'id de session dans l'url.

    Merci à toi, ça marche très bien

    Par contre, le risque est que les robots ne puissent plus référencer toute une partie de mon site, la partie en français étant uniquement accessible via les sessions, la langue par défaut étant l'anglais non ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Ah là j'ai pas ce problème parce que je n'itilialise la session qu'après identification, ce que ne font pas les robots

  10. #10
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 501
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 501
    Points : 6 086
    Points
    6 086
    Par défaut
    tu peux changer le nom avec init_set et sur la valeur session.name
    ainsi tu peux changer le nom au lieu de PJPSESSID

  11. #11
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    je pense que je vais lâchement abandonner, et me résoudre à transmettre de page en page ma variable de langue ... (c'est petit, j'ai honte ...)

    Merci tout de même à tous

  12. #12
    Membre régulier

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 94
    Points : 120
    Points
    120
    Par défaut
    et pourquoi tu n'utilises pas un des atouts d'apache: les fichiers de langues?
    index.php <-- langue par défaut
    index.php.fr <-- français
    index.php.en <-- anglais
    ...

  13. #13
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    tiens, je ne connaissait pas ça ... Peux-tu m'expliquer un peu plus en détail la manière dont ça s'utilise stp ? ou me donner un lien

    Merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Cookies] Cacher le PHPSESSID chez OVH
    Par al85 dans le forum Langage
    Réponses: 7
    Dernier message: 22/06/2013, 13h33
  2. [Cookies] Informations sur phpsessid
    Par G.Hammond dans le forum Langage
    Réponses: 5
    Dernier message: 24/12/2007, 15h53
  3. [Cookies] Transmission du PHPSESSID dans url
    Par tiboel dans le forum Langage
    Réponses: 6
    Dernier message: 31/05/2007, 14h44
  4. [Cookies] Stockage du PHPSESSID
    Par malves dans le forum Langage
    Réponses: 9
    Dernier message: 26/01/2007, 16h03
  5. Réponses: 5
    Dernier message: 30/11/2006, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo