1. ⭐⭐⭐ Grosse PROMO en cours sur ma plateforme SEO My Ranking Metrics
    Rejeter la notice

htaccess errordocument me fait perdre ID de session

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par saluts92, 18 Août 2019.

  1. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    Bonjour,

    Je découvre aujourd'hui un problème : en effet dans une page html, il y a un appel à une URL interne dans une balise image.
    Quand le fichier image n'existe pas sur mon serveur, je perd l'ID de session. l'utilisateur est obligé de se reconnecter, etc ...

    j'ai galéré à trouver la source du problème que voici.
    J'utilise dans mon fichier htaccess la directive Errordocument 404 /404.html qui est appelé lors de la source inexistante de ma balise IMG
    il s'avère que cette directive fait perdre l'ID de session

    Est ce une comportement normal ? si oui comment garder l'ID de session ?

    je ne trouve rien à ce sujet sur les forums.

    d'avance merci
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 760
    J'aime reçus:
    234
    Non ce n'est pas normal du tout, sinon on pourrait déconnecter facilement les gens.
    T'as pas un truc qui détruit la session dans 404.html ? L'ID de session est dans un cookie ?
     
  3. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    oui l'ID de session est dans un cookie

    pour info en mettant l'url complète, c'est à dire : https://www.mondomaine.com/404.html ça fonctionne

    mais je veux comprendre quand même pourquoi àça ne fonctionne pas avec /404.html
     
  4. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    quand j'enleve le Errordocument 404 de mon htaccess et que j'appelle la page 404.html, ç fonctionne bien, je garde toutes mes infos de session

    ça vient de la directive Errordocument qui ne garde pas le même protocole/domaine j'ai l'impression

    en complément j'utilise cette instruction en début de programme :
    session_set_cookie_params(0,"/",www.mondomaine.com,FALSE);
    et celles-ci en début de mon htaccess :
    php_flag session.use_only_cookies off
    php_flag session.use_cookies on
     
  5. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    Petit résumé de mes test de ce weekend
    je rappelle que je stocke l'ID de session dans les cookies (pour éviter les paramètres dans l'URL)

    Errordocument 404 /404.html je perds la session

    Errordocument 404 http://www.mondomaine.com/404.html je ne perds pas la session
    Errordocument 404 https://www.mondomaine.com/404.html je ne perds pas la session
    Errordocument 404 http://mondomaine.com/404.html je ne perds pas la session
    Errordocument 404 https://mondomaine.com/404.html je ne perds pas la session

    dans la suite de mon htacess j'ai les directives habituelles pour la migration https et autre évitement de duplicate content : c'est à dire :
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]
    puis
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ / [QSA,R=301,L]
    puis
    RewriteCond %{HTTP_HOST} !^www\.mondomaine\.com [NC]
    RewriteRule (.*) https://www.mondomaine.com/$1 [QSA,R=301,L]

    j'en conclue que Errordocument à un comportement particulier, mais je ne trouve aucune information là dessus
     
  6. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    en complément, lorsque je fais Errordocument 404 /404.html j'ai directement un 404

    mais quand je mets un chemin absolu, j'ai d'abord un 302 vers ma page 404.html puis un 404 (que je code dans ma page 404.html) donc cette solution ne me convient pas
     
  7. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 760
    J'aime reçus:
    234
  8. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    lorsque il y a un appel à une page inexistante, il y a génération d'un nouveau ID de session

    la directive Errordocument ne transmet pas les cookies (?)
     
  9. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 760
    J'aime reçus:
    234
    Regarde dans les entêtes HTTP.
     
  10. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 760
    J'aime reçus:
    234
    Ton 404.html est aussi en PHP ? Il fait bien le session_start et tout ?
     
  11. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    oui mon 404.html redirige (rewriterule) bien vers un programme php qui reprend excactement (sous programme commun à toutes mes pages) la même gestion gestion des cookies et variable de session ainsi que le session_start
     
  12. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    Tests complémentaires
    si j'appelle directement la page 404.html (qui est redirigé vers un pgm php) je ne perds pas la session

    si dans mon errordocument j'appelle une page html existante je ne perds pas la session

    lors de l'appel à Errordocument 404 /404.html il doit y avoir quelque chose qui inhibe mon session_start ou un truc comme ça mais je galère à trouver
     
  13. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 760
    J'aime reçus:
    234
  14. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    non car je mets un header 404

    j'avais déjà lu des premiers liens, mais cela ne m'a rien apporté

    je vais voir avec ton dernier lien : merci
     
  15. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    je respecte tout ça

    par contre je ne sais pas si j'ai assez insisté sur le point suivant, mais je ne perds la session que lorsque j'appelle une image dont le fichier n'existe pas dans une page

    lorsque j'appelle dans la barre de navigation une page qui n'existe pas, là je ne perds pas la session
     
  16. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 760
    J'aime reçus:
    234
    Étonnant que de surcharger le session handler ne t'ai pas aidé ?
    Peut-être les directives expires/etag ou autre.

    Edit: ah mais j'ai ton URL dans les MPs, on vois bien que le sessid change sur une 404.
     
    #16 spout, 20 Août 2019
    Dernière édition: 20 Août 2019
  17. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 760
    J'aime reçus:
    234
    1° accès sur la home:
    set-cookie: PHPSESSID=9vlh51h5dq6l9e2v8o9adip9jh; path=/; domain=www.example.com

    Accès à une URL 404:
    https://www.example.com/rezrezrezrezrez
    => pas de set-cookie PHPSESSID, par contre set-cookie: idliste

    Accès à une image 404:
    https://www.example.com/rezrezrezrezrez.jpg
    set-cookie: PHPSESSID=ja4q0fki7812hiua07p0amrkpm; path=/; domain=www.example.com

    ID a changé

    Qqun qui a eu le même problème que toi: https://drupal.stackexchange.com/qu...g-changed-when-loading-images-that-dont-exist
    Ici aussi : https://allinthehead.com/retro/359/how-a-missing-favicon-broke-my-app-for-chrome-users

    Mais toi apparemment tu n'as pas Varnish. Mais c'est surement le même genre de pb.
     
  18. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    j'avoue ne pas comprendre ce que cela veut dire ?

    pour info, je développe à 100% mon site

    merci pour tes recherches (il est vrai que j'au du mal en anglais)
     
  19. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    BINGO !

    j'ai effectivement mis en place le cookiesless pour tous les fichiers statiques dont les fichiers images (j'avais publié)

    l'exemple type d'un problème à la c.. sur lequel on perd beaucoup de temps

    merci @spout de m'avoir aider à la réflexion


    pour résoudre mon problème, je vais tester l'existence des fichiers images en question car je souhaite conserver le Errordocument tel quel ainsi que les cookiesless
     
    spout apprécie ceci.
  20. saluts92
    saluts92 WRInaute impliqué
    Inscrit:
    12 Avril 2006
    Messages:
    660
    J'aime reçus:
    23
    Pour finir, j'ai pris la décision de supprimer le Cookieless pour les fichiers images
    En effet j'ai eu plus d'embetement que de gain (n'utilisant que 3 petits cookies)

    et je préviens les futurs problèmes de ce type
     
    spout apprécie ceci.
Chargement...
Similar Threads - htaccess errordocument perdre Forum Date
Htaccess ErrorDocument ne fonctionne pas tout le temps Développement d'un site Web ou d'une appli mobile 30 Avril 2018
Désindexation pdf via htaccess Crawl et indexation Google, sitemaps 9 Juillet 2019
syntaxe commande dans htaccess Crawl et indexation Google, sitemaps 8 Juillet 2019
Passer des 404 spammées en 410 avec htaccess URL Rewriting et .htaccess 18 Juin 2019
htaccess et retrait des variables get URL Rewriting et .htaccess 13 Juin 2019
Réseau de site backlinks : comment bloquer par htaccess ? Tests et études de cas 6 Juin 2019
Rediriger le trafic d'un site donné via htaccess Administration d'un site Web 7 Avril 2019
RegEx dans .htaccess Débuter en référencement 26 Mars 2019
j'ai modifié .htaccess avec wordpad, site inaccessible URL Rewriting et .htaccess 5 Mars 2019
Précision sur mon .htaccess 301 URL Rewriting et .htaccess 12 Février 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice