Projet

Général

Profil

Anomalie #5344

Accès au pièces jointes

Ajouté par michel rein il y a presque 11 ans. Mis à jour il y a presque 11 ans.

Statut:
Fermé
Priorité:
Haut
Assigné à:
Version cible:
Début:
Echéance:
% réalisé:

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 Voir (37,3 ko) michel rein, 06/05/2013 11:03

htaccess_cdt.pdf (21,5 ko) michel rein, 16/05/2013 11:29


Demandes liées

Lié à cdt - Anomalie #5382: Accès au pièces jointes Fermé

Révisions associées

Révision 412c2e0c (diff)
Ajouté par Christophe Deseure il y a presque 11 ans

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

Révision c71df582 (diff)
Ajouté par Christophe Deseure il y a presque 11 ans

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

Historique

#1 Mis à jour par Christophe Deseure il y a presque 11 ans

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 Mis à jour par Christophe Deseure il y a presque 11 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

#3 Mis à jour par Christophe Deseure il y a presque 11 ans

  • Version cible mis à Envole 2.5.8
  • Distribution changé de Toutes à EOLE 2.2

#4 Mis à jour par michel rein il y a presque 11 ans

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 Mis à jour par Christophe Deseure il y a presque 11 ans

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 Mis à jour par michel rein il y a presque 11 ans

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

#7 Mis à jour par Christophe Deseure il y a presque 11 ans

  • Assigné à mis à Christophe Deseure

#8 Mis à jour par Arnaud FORNEROT il y a presque 11 ans

  • Statut changé de À valider à Fermé

Formats disponibles : Atom PDF