Project

General

Profile

Anomalie #5344

Accès au pièces jointes

Added by michel rein about 7 years ago. Updated about 7 years ago.

Status:
Fermé
Priority:
Haut
Assigned To:
Target version:
Start date:
Due date:
% Done:

100%

Distribution:
EOLE 2.2

Description

connecté en prof ou en élève dans CDT ( remplissage cahier de texte pa ex )
Cliquer le lien d'un fichier joint ouvre sur un message d'erreur :
L'accès à ce fichier n'est possible que depuis le cahier de textes
or on y était bien.

cdt_piecejointe.jpg View (37.3 KB) michel rein, 05/06/2013 11:03 AM

htaccess_cdt.pdf (21.5 KB) michel rein, 05/16/2013 11:29 AM


Related issues

Related to cdt - Anomalie #5382: Accès au pièces jointes Fermé

Associated revisions

Revision 412c2e0c (diff)
Added by Christophe Deseure about 7 years ago

bloquage du cache du fichier erreur403.html par les navigateurs (fixes #5344)

Revision c71df582 (diff)
Added by Christophe Deseure about 7 years ago

tentative de prise en compte d'un reverse proxy dans les htaccess protegeant les dossiers (ref #5344)

History

#1 Updated by Christophe Deseure about 7 years ago

Bonjour Michel,

Cet affichage est dû à la solution temporaire mise en place en février pour résoudre un problème de sécurité (voir #4839).

Voici la solution adoptée repris d'un message du ticket 4839 :

Pour protéger les dossiers contenant des ressources à savoir "fichiers_joints", "fichiers_joints_message" et "exportation", un .htaccess de la forme suivante y a été ajouté :
RewriteCond -f
RewriteCond %{HTTP_REFERER}::{HTTP_HOST} !^https?://([^/]+)/cdt/.+::\1$ [NC]
RewriteRule .* /cdt/erreur403.html [L]
La condition vérifie que l'on vient du cahier de textes pour laisser l'accès au fichier demandé.
Le fichier "erreur403.html" est un nouveau fichier affichant le message "L'accès à ce fichier n'est possible que depuis le cahier de textes." suivi d'un lien d'accès au cdt.

Je n'ai pas constaté de problème de fonctionnement du ".htaccess". Est-ce possible que de ton côté les variables HTTP_REFERER et HTTP_HOST ne soient pas fiables ?
Par contre, au niveau du fichier "erreur403.html", j'ai ajouté des balises "meta" pour empêcher le cache par le navigateur car là effectivement, si tu tentais d'accéder directement à un fichier joint, tu obtenais normalement le message d'erreur mais il était conservé par la suite même si tu repassais par le cahier de textes.

Suite à un échange avec Pierre Lemaitre en février, il devait solutionner cette faille sans passer par un ".htaccess" mais je n'ai pas vu de correctif dans la nouvelle version.
Je l'ai recontacté pour en savoir plus.

#2 Updated by Christophe Deseure about 7 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 0 to 100

#3 Updated by Christophe Deseure about 7 years ago

  • Target version set to Envole 2.5.8
  • Distribution changed from Toutes to EOLE 2.2

#4 Updated by michel rein about 7 years ago

Dans notre académie, l'accès depuis l'internet se fait derrière un reverse-proxy centralisé et la comparaison
HTTP_REFERER == HTTP_HOST échoue. cf P.J.
Peut-être est-ce le cas aussi derrière des reverse-proxy sur l'amon local ?

#5 Updated by Christophe Deseure about 7 years ago

Bonjour Michel,

Merci pour les informations que tu as transmises, ça m'a permis d'avancer.
Je propose maintenant cet htaccess :

# on laisse l'accès normal :
#  - si le fichier n'existe pas
#  - ou si on trouve un REFERER correspondant au HOST
#  - ou si on trouve un REFERER correspondant au X-Forwarded-Server dans le cas d'un reverse proxy
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{HTTP_REFERER}::%{HTTP_HOST} ^https?://([^/]+)/cdt/.+::\1$ [NC,OR]
RewriteCond %{HTTP_REFERER}::%{HTTP:X-Forwarded-Server}  ^https?://([^/]+)/cdt/.+::\1$ [NC]

# le drapeau "S=1" signifie que l'on saute la règle suivante (redirection vers le message d'erreur) quand une des conditions est remplie
RewriteRule .? - [S=1]

RewriteRule .* /cdt/erreur403.html [L,R=302]

Il y a un essai pour la prise en compte d'un reverse proxy qu'il faudrait que tu puisses tester car je n'ai pas pu le faire.
Et pour éviter des codes 304 envoyés par le serveur et indiquant une page non modifiée qui faisait se réafficher la page d'erreur au lieu du fichier demandé, je force une redirection 302.

On peut tester le paquet en dev (envole-cdt-4.9.2.7-eole54~4.gbpc71df5).

#6 Updated by michel rein about 7 years ago

Nickel!
J'ai testé non pas la distrib mais le nouvel .htacces sur un établisssement et c'est bon.

#7 Updated by Christophe Deseure about 7 years ago

  • Assigned To set to Christophe Deseure

#8 Updated by Arnaud FORNEROT about 7 years ago

  • Status changed from Réouvert to Fermé

Also available in: Atom PDF