Projet

Général

Profil

Demande #1851

Erreur lors de l'inscription à l'événement des 20 ans Paris

Ajouté par Christian P. Momon il y a plus de 7 ans. Mis à jour il y a environ 6 ans.

Statut:
Résolu
Priorité:
Normale
Assigné à:
-
Version cible:
-
Début:
23/01/2017
Echéance:
% réalisé:

0%

Temps estimé:

Description

Lors de mon inscription à l'événement des 20 ans, j'ai rencontré un bug bloquant : lors du clic sur le bouton « Envoyer », tout se passe comme si les données saisies sont ignorées. J'ai pu contourner le problème en passant par le navigateur Epiphany.

Mon système : Debian Jessie
Mon navigateur : Firefox 50.1.0 (non paquet Debian)

Le problème persiste quand :
- je relance mon Firefox ;
- je désactivte RequestPolicy ;
- je créé un autre compte d'inscription.

Le lien de test que vous pouvez utiliser : https://evenement.april.org/index.php/224786/lang/fr/token/U0N3BpPpoMlt8aw
(l'inscription a été faite avec un Firefox sur une autre machine, le problème existe encore sur mon Firefox : impossible de changer le commentaire, je clique, et l'ancienne valeur est remise).

Ce n'est que sur mon Firefox et c'est la première remonté de ce bug donc a priori, très faible impact.

Sur les conseils de Polux, Shift-Ctrl-I > Réseau > Post:

- données entête de la requête :
POST /index.php/224786 HTTP/1.1
Host: evenement.april.org
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr-FR,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://evenement.april.org/index.php/224786/lang/fr/token/U0N3BpPpoMlt8aw
Cookie: GDTCSESSID=4221130ed7efd0c5e59727eccce9c13c; PHPSESSID=0c3ec466da6071489b53c7297224abec; SESS2df549d5b56f8cf0da05abfe9998092c=9i1eqkj1f45crdlgrl7pck6qi5; sympa_session=85438cb5ea3e68e454b3d4431a4d308c3d; YII_CSRF_TOKEN=6718ca3a3d3b24b2f52c2082b0b3d9c8be99cda1; PHPSESSID=3tggkj07frslmqg776jpae3051
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1

- données entête de la réponse :
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Mon, 23 Jan 2017 21:45:53 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 5934
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Last-Modified: Mon, 23 Jan 2017 21:45:53 GMT
Set-Cookie: PHPSESSID=3gasqrv2nglr7veqct00a5lev6; path=/; HttpOnly
PHPSESSID=fss1m9a2us98rs8eao8pqnbv06; path=/; HttpOnly
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Vary: Accept-Encoding
Content-Encoding: gzip
X_FORWARDED_PROTO: https

- données du POST :
YII_CSRF_TOKEN=6718ca3a3d3b24b2f52c2082b0b3d9c8be99cda1
fieldnames=224786X5X10|224786X5X7|224786X5X8|224786X5X9
224786X5X10
224786X5X7=Y
java224786X5X7=Y
224786X5X8=0
224786X5X9=Bon+anniversaire.++Ceci+est+un+test+par+Christian+(Cpm).+Ne+pas+prendre+en+compte.+TEST+2
relevance10=0
relevance7=1
relevance8=1
relevance9=1
relevanceG0=1
movesubmit=movesubmit
thisstep=2
sid=224786
start_time=1485207924
LEMpostKey=200296746
token=U0N3BpPpoMlt8aw

Historique

#1

Mis à jour par Vincent-Xavier JUMEL il y a plus de 7 ans

Très rapidement, sans rentrer dans les détails, je vois que tu as deux Cookies PHPSESSID avec des valeurs différentes. Étrange, non ?

En l'occurrence, j'ai pu soumettre la demande, et j'ai vérifié que je n'avais qu'un seul PHPSESSID.

#2

Mis à jour par Christian P. Momon il y a plus de 7 ans

Oui, j'ai tiqué aussi sur le doublon. Je confirme l'absence de doublon dans le Firefox où il n'y a pas le bug.

Test 2

Nouveau test, la simple requête GET toute seule : Résulats :
  • entête requête :

GET /index.php/224786/lang/fr/token/U0N3BpPpoMlt8aw HTTP/1.1
Host: evenement.april.org
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr-FR,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Cookie: GDTCSESSID=4221130ed7efd0c5e59727eccce9c13c; PHPSESSID=0c3ec466da6071489b53c7297224abec; SESS2df549d5b56f8cf0da05abfe9998092c=9i1eqkj1f45crdlgrl7pck6qi5; sympa_session=85438cb5ea3e68e454b3d4431a4d308c3d
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1

  • entête réponse :

HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Tue, 24 Jan 2017 01:38:47 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 5943
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
p3p: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Last-Modified: Tue, 24 Jan 2017 01:38:47 GMT
Set-Cookie: PHPSESSID=kk212fo6eorrorguie70jvrsi7; path=/; HttpOnly
PHPSESSID=3c6vn7t9bokgpd45i2br7c7fh6; path=/; HttpOnly
YII_CSRF_TOKEN=58f230a8a15b5a579ea56051094856ca19380296; path=/
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Vary: Accept-Encoding
Content-Encoding: gzip
X_FORWARDED_PROTO: https

Donc la simple requête GET contient déjà 1 PHPSESSID (gdtc du domaine april.org) et le retour en contient 2.

À noter que :

cpm@ocmstar (02:55:10) ~ 11 > curl -D t https://evenement.april.org/index.php/224786/lang/fr/token/U0N3BpPpoMlt8aw > /dev/null; cat t
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Tue, 24 Jan 2017 01:55:12 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: PHPSESSID=mufkv3v5dn91sjdjel0mbv00c2; path=/; HttpOnly
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: PHPSESSID=p8m8g7de64uvd8kb8pufljugq1; path=/; HttpOnly
X-Frame-Options: SAMEORIGIN
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Last-Modified: Tue, 24 Jan 2017 01:55:12 GMT
Set-Cookie: PHPSESSID=4aehu9ra6gb5tilkch8m43qeu5; path=/; HttpOnly
Cache-Control: post-check=0, pre-check=0
Set-Cookie: YII_CSRF_TOKEN=869aba609fa6dcd5acea61d8eabff6f1ff40db1e; path=/
Vary: Accept-Encoding
X_FORWARDED_PROTO: https

Donc même sans envoyer de PHPSESSID, la requête de retour contient bien 2 cookies PHPSESSID.

Test 3

Dans Firefox, j'ai supprimé le cookie PHPSESSID du domaine april.org puis j'ai refait le get. J'obtiens en retour 3 cookies (!) mais lorsque je clique sur le bouton « Envoyer », ÇA MARCHE \O/

Conclusion

C'est la présence d'un cookie PHPSESSID sur le domaine april.org qui fait boguer LimeSurvey sur le domaine evenement.april.org.

J'ai tenté de voir quel service de l'April déposait ce cookie. Je n'ai pas tout testé mais https://gdtc-dev.april.org/my/ en dépose un. Oui, il se trouve que très récemment j'ai été sur l'environnement de développement de GDTC. Par contre, aucun problème avec le GDTC de prod.

En conséquence, on peut penser que s'il y avait quelqu'un sur la planète qui devait tomber sur ce bug, bah c'est moi :D
A priori, peu de raison d'impacter d'autres utilisateurs. TOUT VA BIEN POUR LE PROCESSUS D'INSCRIPTION.

Questions :
  • est-il normal que LimeSurvey soit impacté ?
  • cela n'impose-t-il de ne plus utiliser april.org ? (utilisation systématique de www.april.org à la place)
#3

Mis à jour par Christian P. Momon il y a environ 6 ans

  • Statut changé de Nouveau à Résolu

Sujet ancien et dont le contexte est passé.

Peut-être prévoir une nouvelle tâche pour mettre le cookie sur le domaine www.april.org plutôt que april.org.

Formats disponibles : Atom PDF