Project

General

Profile

Anomalie #1350

La page de connexion httpS du wiki redirige vers http(pas-S)

Added by Sanete Reugardpa over 6 years ago. Updated almost 3 years ago.

Status:
Fermé
Priority:
Élevée
Assignee:
-
Category:
Task
Target version:
Start date:
08/29/2013
Due date:
% Done:

0%

Estimated time:
Difficulté:
2 Facile

Description

Pour reproduire:
- Vider ses cookies
- Aller sur https://wiki.april.org/
- Cliquer sur "Créer un compte ou se connecter"
- Rentrer ses identifiants

Vérifier que le formulaire pointe sur HTTPS

- Cliquer sur "Connexion"

Noter qu'on se prend un 302 vers http://wiki.april.org/

History

#1

Updated by Anonymous about 6 years ago

Je souhaite ajouter que en https, un certain nombre d'éléments restent en http. Il serait amha utile soit de faire en sorte que le wiki soit sur ://wiki.april.org ou basculer totalement en https.

#2

Updated by Vincent-Xavier JUMEL over 5 years ago

  • Category set to Task
  • Target version set to Backlog
#3

Updated by François Poulain about 3 years ago

  • Description updated (diff)
  • Status changed from Nouveau to Confirmé

Oui c'est juste.

Les entêtes de la transaction :

POST:

Host: wiki.april.org
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr-FR,fr;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Referer: https://wiki.april.org/index.php?title=Sp%C3%A9cial:Connexion&returnto=Accueil
Cookie: bling
Connection: keep-alive

Réponse :

Cache-Control: private, must-revalidate, max-age=0
Connection: keep-alive
Content-Length: 0
Content-Type: text/html; charset=utf-8
Date: Thu, 20 Oct 2016 12:27:57 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location: http://wiki.april.org/w/Accueil
Server: nginx/1.6.2
Set-Cookie: blang
Vary: Accept-Encoding,Cookie
X_FORWARDED_PROTO: https
x-content-type-options: nosniff

Le "location" défini par médiawiki pousse vers http.

#4

Updated by François Poulain about 3 years ago

Bon,

A priori le soucis vient du fait que la liaison entre le nginx et le apache est en http.

Le code incriminé est ici (/var/lib/mediawiki/includes/OutputPage.php l. 2243) :

                        # Standards require redirect URLs to be absolute
                        $this->mRedirect = wfExpandUrl( $this->mRedirect, PROTO_CURRENT );

D'après includes/GlobalFunctions.php:

 * The meaning of the PROTO_* constants is as follows:
 * PROTO_HTTP: Output a URL starting with http://
 * PROTO_HTTPS: Output a URL starting with https://
 * PROTO_RELATIVE: Output a URL starting with // (protocol-relative URL)
 * PROTO_CURRENT: Output a URL starting with either http:// or https:// , depending
 *    on which protocol was used for the current incoming request

Je vois deux façon de résoudre ça :

  • causer https entre le nginx et le apache ;
  • patcher pour forcer le PROTO_HTTPS.

Je suis étonné qu'on n'ait pas ce même type d'ennui avec d'autres applications.

#5

Updated by François Poulain about 3 years ago

  • Status changed from Confirmé to En cours de traitement
#6

Updated by François Poulain about 3 years ago

D'ici le 17 janvier on saura peut être si on peut commenter la ligne de code, cette proposition autorisant les URL sans plan dans les entêtes Location : https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-20#section-9.13

#7

Updated by François Poulain about 3 years ago

Ha beh en fait on peut déjà, d'après https://tools.ietf.org/html/rfc7231#section-7.1.2

Alors, une solution acceptable est de commenter la ligne qui force la définition d'une URL absolue.

#8

Updated by François Poulain almost 3 years ago

  • Status changed from En cours de traitement to Fermé

En fait non. Mediawiki vérifie correctement la présence d'un x-forwarded-proto. Le soucis venait du reverse proxy qui ne transmettait pas cet entête. Cf bug #1840.

Also available in: Atom PDF