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 :

bloquer l'accès d'un répertoire mais permettre au player de lire le contenu


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 158
    Par défaut bloquer l'accès d'un répertoire mais permettre au player de lire le contenu
    Bonjour à tous et merci par avance pour l'aide que vous pourrez m'apporter.

    J'ai actuellement un Player Flash qui lit des vidéo .FLV depuis un répertoire /video/ sur mon serveur.

    Jusque la tout va bien, les vidéo sont bien lu aucun problème. Cependant je souhaiterais sécuriser ce répertoire afin que personne ne puisse y accéder directement via www.monsite.com/video/ .

    J'ai alors utilisé un fichier .htaccess et .htpasswrd. ça fonctionne bien seulement à cause (ou grâce) à cette technique mon Player ne peut plus lire les vidéos sans demander de login et mot de passe or cela doit être transparent pour les utilisateurs.

    Je sais qu'avec le fichier .htaccess, il est possible d'autoriser son site à accéder aux partie protégées mais je n'y suis pas arrivé.

    Voici mon fichier HTACCESS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Limit GET POST>
    order deny,allow
    allow from all
    </Limit>
     
    AuthName "Dossier protégé"
    AuthType Basic
    AuthUserFile "/home/wly73/public_html/export/video/.htpasswd"
    Require valid-user

    Auriez-vous une idée pour permettre à mon Player Flash de lire les FLV depuis ce dossier sans avoir une demande de login et mot de passe ?

  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
    Bonjour,

    Il n'y a pas vraiment de réponse magique. Le plus simple c'est de vérifier le referer mais ce n'est pas fiable car certains navigateurs ou proxies bloquent l'en-tête. Voir ces discussions :
    http://www.developpez.net/forums/d58...ction-fichier/
    http://www.developpez.net/forums/d50...t-propre-site/
    http://www.developpez.net/forums/d53...ccess-sous-ie/
    (le dernier est très instructif).

    Si tu optes pour cette solution, vu que le referer est facilement forgeable, mets un fichier index.html bidon dans le répertoire de tes vidéos pour te prémunir des accès directs à /monrepertoire/.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 158
    Par défaut
    Ok merci, sinon j'ai tenté ce qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Order Allow, Deny
    Deny from all
    Allow from 85.41.215.236
    Require valid user
    Satisfy Any
    Cela semblait marcher au depart car je n'ai pas eu de demande de login et mot de passe mais la vidéo n'est pas lu au finale...

    Quand je vais dans le dossier j'ai désormais :

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

  4. #4
    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
    En faisant comme ça (et à supposer que cela fonctionne), tu n'autorises qu'une seule machine à lire tes vidéos : c'est bien ce que tu veux faire ?

    Pour le détail de l'erreur, il faut consulter les logs d'erreur d'Apache. Comme ça, là, je ne vois pas ce qui pose problème.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 158
    Par défaut
    Effectivement je ne souhaite qu'il y ait que mon propre serveur qui puisse lire les vidéos mais cela implique au final que tout le monde accédant à la page du player puisse voir les vidéos (lu dans le player) mais qu'ils ne pourront pas accéder au dossier /video/ vu que uniquement mon serveur y ait autorisé...

    Je ne sais pas si ma manière de penser est bonne...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 158
    Par défaut
    Je viens de tester ce qui suit grâce à un des post que tu m'as envoyé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://.*\.monsite\.com/ [NC]
    RewriteRule \.(flv|Flv)$ - [F,NC]
    </IfModule>
    SetEnvIfNoCase Referer "^https?://([^/]*)?fmonsite\.com/" local_ref=1
    SetEnvIf Referer ^$ local_ref=1
     
    <FilesMatch "\.(flv|Flv)$">
    Order allow,deny
    Allow from env=local_ref
    </FilesMatch>
    ça semble fonctionner, je peux lire la video via le player, je peux acceder au dossier /video/ mais en cliquant sur l'une d'elle, je suis redirigé vers une page d'erreur, je ne peux donc pas la télécharger directement.

    Le seul truc dommage c'est que je peux quand même lister le repertoire...

    As -tu une idée ?

  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
    Citation Envoyé par rigolman Voir le message
    Effectivement je ne souhaite qu'il y ait que mon propre serveur qui puisse lire les vidéos mais cela implique au final que tout le monde accédant à la page du player puisse voir les vidéos (lu dans le player) mais qu'ils ne pourront pas accéder au dossier /video/ vu que uniquement mon serveur y ait autorisé...
    Ce n'est pas comme ça que ça se passe : le player est exécuté par le navigateur, donc c'est le navigateur ou le player qui télécharge la vidéo. Donc on ne peut pas dire que seul ton serveur peut accéder aux vidéos : tout le monde doit pouvoir accéder aux vidéos. Ce que tu veux c'est que les vidéos ne soient accessibles que depuis les pages de ton site. C'est différent : c'est là que le Referer intervient.

    Le seul truc dommage c'est que je peux quand même lister le repertoire...
    C'est pour ça que je t'ai dit de mettre un fichier index.html bidon (mais c'était pas très clair comme explication) : en accédant à /video/, c'est le fichier index.html qui sera renvoyé et donc on ne pourra pas voir le contenu du répertoire. On peut même pousser plus loin en faisant une redirection, si tu veux. Pour cela, dans ton fichier .htaccess, ajoute ceci dans le bloc <IfModule mod_rewrite.c> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond ^$ http://%{HTTP_HOST}/ [L]
    Logiquement (mais je peux me tromper ), tu devrais être redirigé sur la page d'accueil de ton site si tu accèdes à /video/. Si ça ne marche pas, essaie avec ^/$ à la place de ^$.

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

Discussions similaires

  1. Bloquer une accès sur un répertoire et son contenu
    Par zooffy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/08/2012, 17h29
  2. Bloquer l'accés aux sous-répertoires
    Par kanaziwok dans le forum Langage
    Réponses: 33
    Dernier message: 18/03/2010, 18h23
  3. Bloquer l'accès à ses répertoires
    Par castaka dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 04/12/2007, 11h13
  4. Réponses: 5
    Dernier message: 20/11/2007, 13h33
  5. Réponses: 2
    Dernier message: 25/02/2007, 13h50

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