IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Restriction de fichier


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut Restriction de fichier
    Bonjour,

    Voilà, je voudrais m'enquérir de quelques précieux conseils sur apache sur la restriction de téléchargement de fichiers sauf pour des url specifiques, provenant uniquement du nom de domaine.
    J'ai essayé ce script
    Order Allow,Deny
    Allow from .mondomaine.org
    Deny from all
    mais ça n'a pas l'air de fournir le résultat escompté puisque en recopiant l'adresse j'arrive à capturer le fichier.
    Les fichiers en question sont des pdf générés contenant des informations sensible donc qui ne devrait pas être disponible au grand public, mais qui permettrait tout de même d'avoir un archive et de faire une économie de ressource en ne le regénérant pas à chaque fois.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Pour faire ça, 2 possibilités :
    1. Vérifier le Referer renvoyé par les utilisateurs, mais ce n'est pas une information fiable car cela se forge et certains navigateurs ne le renvoient pas
    2. Faire une authentification et/ou positionner un cookie qui permet de savoir que l'utilisateur est passé par ton site auparavant.

    C'est une demande qui revient assez souvent, tu devrais trouver des infos et peut-être d'autres pistes sur le forum (Referer ou Referrer sont de bons mots-clé pour commencer les recherches).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut
    Merci pour la réponse et surtout pour la rapidité, j'ai trouvé ce code
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://.*\.fruitsshop\.org/ [NC]
    RewriteRule \.(pdf)$ - [F,NC]
    </IfModule>
    SetEnvIfNoCase Referer "^https?://([^/]*)?fruitsshop\.org/" local_ref=1
    SetEnvIf Referer ^$ local_ref=1

    <FilesMatch "\.(pdf)$">
    Order allow,deny
    Allow from env=local_ref
    </FilesMatch>
    Comme alternatif mais il me fournit désespèrement le fichier avec une joie incompréhensible aussi bien sur IE7 que sur firefox, aurais-je fais une erreur quelque part ?
    L'authentification est une piste effectivement en regénérant un login et un mot de passe pour chaque client mais casse un peu la fluidité du site (on ne peut pas tout avoir non plus ), pour le cooky il y en a déjà, mais je ne sais pas trop comment l'implementer sur l'apache, étant profondément nul dans ce langage

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut
    Etrangement en partant de ce site ça marche ... je ne comprends pas trop

    Mais en m'envoyant un mail, ça ne marche pas

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par bogy1974 Voir le message
    Mais en m'envoyant un mail, ça ne marche pas
    Ca me paraît logique : si tu ouvres un navigateur "frais" et que tu accèdes à ton PDF, ça téléchargera le document aussi. Car en fait, le problème dans le cas du mail est identique : aucun referer n'est envoyé. Or, tu as cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetEnvIf Referer ^$ local_ref=1
    Qui dit que "si pas de referer, local_ref=1, donc on laisse passer". Si tu commentes cette ligne, ça devrait interdire le document, je pense.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut
    Merci :mrgreen, tu me sauves la vie.

    Ce site est à la hauteur de sa réputation

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Et bien je donne l'explication plus haut :
    Citation Envoyé par _Mac_ Voir le message
    Vérifier le Referer renvoyé par les utilisateurs, mais ce n'est pas une information fiable car cela se forge et certains navigateurs ne le renvoient pas
    Et à ma connaissance, il n'y a que les 2 méthodes que je propose : referrer ou cookie.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Par défaut
    Merci _Mac_ pour ta reponse, peux-tu me dire comment faire pour verifier les cockies avec un .htaccess?

  9. #9
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Avec un RewriteCond, pour vérifier que le cookie TOTO existe, tu fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{HTTP_COOKIE} TOTO=
    Après, si tu veux vérifier le cookie de session PHP, tu utilises PHPSESSID à la place de TOTO mais ce ne sera pas possible de vérifier qu'il correspond à une session valide.

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Par défaut
    Bonjour, _Mac_,
    j'ai fai comme tu ma conseiller et ça marche très très bien, mes utilisateurs peuvent écouter mes MP3 a partir de mon site s'il se sont connecter.

    *reste un petit problème c'est avec les playlist en format m3u, ca met un message d'erreur indiquant : impossible de lire ce fichier, il contient des données inattendu et est peut être corrompu.

    alors que ca marche avant, d'ou ca peut venire?
    Merci bc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. FreeRadius restrictions authentifications fichiers
    Par Yoann75 dans le forum Linux
    Réponses: 1
    Dernier message: 17/04/2014, 10h36
  2. Pas de restrictions d'accès aux fichiers
    Par julien.63 dans le forum Administration système
    Réponses: 5
    Dernier message: 16/11/2006, 22h00
  3. Restriction fichier apache
    Par nicoweb371 dans le forum Apache
    Réponses: 3
    Dernier message: 19/10/2006, 14h50
  4. restriction fichier htaccess
    Par oligig dans le forum Apache
    Réponses: 8
    Dernier message: 16/06/2006, 16h24
  5. Réponses: 3
    Dernier message: 24/03/2006, 20h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo