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

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 2
    Points
    2
    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
    Points : 12 977
    Points
    12 977
    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).

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 2
    Points
    2
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 2
    Points
    2
    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
    Points : 12 977
    Points
    12 977
    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.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

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

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

    Ce site est à la hauteur de sa réputation

  7. #7
    Nouveau membre du Club
    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
    Points : 39
    Points
    39
    Par défaut
    bonsoir,
    J'ai fais exactement pareille, mais cela marche a moitie, ca marche tres bien sur quelque navigateur et pas sur d'autres.
    cela est-il normale, ou je me suis trompé?
    *je souhaite interdir l'accee des autres sites(lecture depuis ces derniers) sur mes fichiers MP3, voila comment j'ai fai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://.*\.monsite\.com/ [NC]
    RewriteCond %{HTTP_REFERER} !^http://.*\.monsite\.net/ [NC]
    RewriteRule \.(mp3|MP3)$ - [F,NC]
    </IfModule>
    SetEnvIfNoCase Referer "^https?://([^/]*)?fmonsite\.com/" local_ref=1
    SetEnvIfNoCase Referer "^https?://([^/]*)?fmonsite\.net/" local_ref=1
    SetEnvIf Referer ^$ local_ref=1
     
    <FilesMatch "\.(mp3|MP3)$">
    Order allow,deny
    Allow from env=local_ref
    </FilesMatch>
    Cordialement

  8. #8
    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
    Points : 12 977
    Points
    12 977
    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.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  9. #9
    Nouveau membre du Club
    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
    Points : 39
    Points
    39
    Par défaut
    Merci _Mac_ pour ta reponse, peux-tu me dire comment faire pour verifier les cockies avec un .htaccess?

  10. #10
    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
    Points : 12 977
    Points
    12 977
    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.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  11. #11
    Nouveau membre du Club
    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
    Points : 39
    Points
    39
    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

  12. #12
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Aucune idée. C'est peut-être que le programme accède à ce fichier m3u sans cookie et donc ne récupère rien et là, il est pas content et le dit

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  13. #13
    Nouveau membre du Club
    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
    Points : 39
    Points
    39
    Par défaut
    Oui possible, mais au moins il aurait pu renvoyé le fichier par defaut, comme ce qui est le cas pour les mp3.
    Bizar, j'ai cru finir avec cette histoire mais non

  14. #14
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Là, je sais pas trop. Faut essayer de mettre des traces un peu partout pour voir ce qu'il se passe. Regarde notamment les logs d'accès d'Apache pour voir ce qu'il répond exactement, histoire de valider ou invalider ma théorie.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  15. #15
    Nouveau membre du Club
    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
    Points : 39
    Points
    39
    Par défaut
    finalement je suis d'accord avec toi, le programme(le lecteur) récupère pas le cookie, et renvoie le mp3 par défaut(vu qu'il trouve pas le cookie)
    ta pas une idee?(hors l'utilisation d'un lecteur flash avec des playlist xml)

  16. #16
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Mettre un RewriteCond pour débloquer la règle dans le cas où le user agent est d'un certain type, mais ce n'est pas garanti que ça marche car d'une part tu ne pourras pas avoir une liste exhaustive de tous les user agents utilisés par les lecteurs média, et d'autre part si le user agent d'un lecteur est celui d'un navigateur classique, tu ne pourras pas débloquer la règle

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

+ 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