• Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major Major
    • 2.LATER
    • None
    • Général
    • None
    • Operating System: Windows XP
      Platform: PC

      il faudrait pas forcement créer de session et même dans ce cas ne pas avoir le
      jsessionid

          [RUNTIME-107] jsessionid

          Closing as too old

          Cédric Damioli added a comment - Closing as too old

          Petite précision pour comprendre la raison de ce paramètre.

          Si jamais l'utilisateur n'autorise pas les cookies alors il doit y avoir
          une réécriture d'URL afin de maintenir l'identifiant de la session tout
          au long de la navigation de l'utilisateur.

          Pour cela, le moteur de servlet ajoute lors de la création de la session
          si jamais le navigateur n'a pas encore envoyé de cookie JSESSIONID (même
          invalide, ce qui implique que le navigateur supporte les cookies) alors il rajoute
          ce paramètre dans l'URL.

          Ceci n'est vrai que lors des redirections (HttpServletResponse.sendRedirect) et
          si l'on utilise les méthodes (HttpServletResponse.encodeURL et HttpServletResponse.encodeRedirectURL).

          C'est ce que fait cocoon quand on utilise Redirector.redirect (l'implementation est HttpEnvironment).

          Si jamais, une page statique doit être servi et qu'elle contient ;jessionid=... alors ça échouera, sauf
          si la règle suivante Apache est appliqué avant la vérification du fichier dans DocumentRoot :

          1. Remove URL rewriting from servlet engine
            RewriteRule ^/(.);jsessionid=.$ /$1 [PT]

          Sébastien Launay (Inactive) added a comment - Petite précision pour comprendre la raison de ce paramètre. Si jamais l'utilisateur n'autorise pas les cookies alors il doit y avoir une réécriture d'URL afin de maintenir l'identifiant de la session tout au long de la navigation de l'utilisateur. Pour cela, le moteur de servlet ajoute lors de la création de la session si jamais le navigateur n'a pas encore envoyé de cookie JSESSIONID (même invalide, ce qui implique que le navigateur supporte les cookies) alors il rajoute ce paramètre dans l'URL. Ceci n'est vrai que lors des redirections (HttpServletResponse.sendRedirect) et si l'on utilise les méthodes (HttpServletResponse.encodeURL et HttpServletResponse.encodeRedirectURL). C'est ce que fait cocoon quand on utilise Redirector.redirect (l'implementation est HttpEnvironment). Si jamais, une page statique doit être servi et qu'elle contient ;jessionid=... alors ça échouera, sauf si la règle suivante Apache est appliqué avant la vérification du fichier dans DocumentRoot : Remove URL rewriting from servlet engine RewriteRule ^/(. );jsessionid=. $ /$1 [PT]

          par contre, je n'ai pas mis en dur dans la servlet qu'il était interdit, j'ai
          juste enlevé sa déclaration, ce qui permet de le remettre ponctuellement si
          jamais il y avait besoin

          Cédric Damioli added a comment - par contre, je n'ai pas mis en dur dans la servlet qu'il était interdit, j'ai juste enlevé sa déclaration, ce qui permet de le remettre ponctuellement si jamais il y avait besoin

          merci de ne mettre qu'un pb par bug

          sinon, le cocoon-reload=true n'est plus accepté si on prend le dernier web.xml
          du template

          Cédric Damioli added a comment - merci de ne mettre qu'un pb par bug sinon, le cocoon-reload=true n'est plus accepté si on prend le dernier web.xml du template

          En profiter pour retirer le cocoon-reload=true qui est une belle faille de sécurité

          Sébastien Launay (Inactive) added a comment - En profiter pour retirer le cocoon-reload=true qui est une belle faille de sécurité

            Unassigned Unassigned
            raphael Raphaël Franchet
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: