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 :

[apache] protection de fichiers, pas d'acces via url ?


Sujet :

Apache

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut [apache] protection de fichiers, pas d'acces via url ?
    Bonjour à tous,

    Je me posais la question suivante :

    Est il possible d'empecher l'acces à des photos, ou plutot à des fichiers d'un repertoire par leur url directe ? J'entend par là que l'on puisse par exemple faire afficher une photo via un img src, faire telecharger un fichier avec un href et les headers qu'il faut mais que l'on ne puisse pas acceder à ces fichiers via leur url en l'entrant dans le navigateur directement ?
    J'ai pensé au htaccess mais je ne vois pas trop comment on pourrait lui dire un truc du genre 'ok pour le fichier dans le html mais pas ok pour le fichier direct dans l'url'

    Merci d'avance

    ++

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!

    Jette un oeil à ce sujet :
    http://www.developpez.net/forums/viewtopic.php?t=340211

    à+
    De retour parmis vous après 10 ans!!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Merci pour la reponse mais ça ne correspond pas à ce que je cherche pour plusieurs raisons :

    1) Obligation de coder les noms de fichiers ou noms de dossiers (question organisation pour retrouver un truc en tant que webmaster, tu pleures

    2) Fichiers toujours accessibles par leur url.

    En fait pour etre plus explicite sur mon probleme (pas si grave mais bon, j'aimerai bien le resoudre quand meme...)
    Imaginons une phototheque web, j'ai plusieurs groupes de photos que je securise par acces groupes ou users. Donc 0 à N groupes ou users auront acces à un groupe de photos.

    Le truc c'est que admettons que j'ai le groupe A peut voir les photos A et groupe B, photos B.
    Via la bdd, c'est facile, mais apres, n'importe qui du groupe A peut aller voir l'image B via son url (qu'une personne du groupe B lui aurait passé par exemple...)

    Donc je cherche à éviter ça en fait...

    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    C'est le principe qui importe en fait (il fallait probablement lire le topic en entier pour comprendre).

    • Le dossier contenant les images contient également un fichier .htaccess interdisant l'acces direct des fichiers via leur url :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Order deny, allow
    deny from all
    • Ainsi, seuls les scripts PHP (sur le serveur) sont autorisés à accéder aux fichiers.
    Par exemple, la fonction suivante PHP permet de proposer le fichier en téléchargement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function DownloadFile($fname){ 
      if(file_exists($fname)){
        @header('Content-Description: File Transfer');
        @header('Content-type: application/force-download');
        @header('Content-Disposition: inline; filename="'.basename($fname).'"'); 
        @header('Content-Transfer-Encoding: binary');
        @header('Content-Length: '.filesize($fname)); 
        @header('Cache-Control: public');
        @header('Pragma: no-cache');
        return @readfile($fname);
      }
      return false;
    }
    • Pour afficher une image, cela doit fonctionner en appellant l'url à partir d'un script sur le serveur (à vérifier). Sinon, on utilise les fonctions PHP de la librairie GD. L'image est créée dynamiquement par PHP, le résultat est un fichier en mémoire (ou dossier temporaire). De cette manière, l'image affichée ne possède pas d'url définitive et sa source est protégée par le .htaccess...

    à+
    De retour parmis vous après 10 ans!!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Merci pour le tuyau
    Désolé de ne pas avoir lu les 9 pages, mais voyant comment le topic partait (personne débutant vraiment vraiment et tout ce que tu as du lui expliquer), j'ai pensé que je m'etais mal exprimé et que tu avais mal compris ce que je cherchais
    En tout cas merci beaucoup, ça le fait, faudra que je teste ça des que je recupere ma freebox ^^ (la ligne de secours c'est pas tip top....)

    Sinon un pote a émis l'idée suivante : utiliser un check par referer. Il me disait qu'il lui semblait avoir lu quelque part que le htaccess pouvait gérer selon le http-referer. Donc je vais voir tout ça

    Thx !
    ++

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/09/2011, 12h15
  2. Réponses: 7
    Dernier message: 25/11/2010, 01h03
  3. Browsers bloqués, pas d'accès via http, https ok
    Par Sunchaser dans le forum Windows XP
    Réponses: 18
    Dernier message: 21/11/2008, 13h43
  4. Protection fichiers mais acces via le site
    Par Ylias dans le forum Apache
    Réponses: 2
    Dernier message: 26/07/2007, 17h51
  5. Réponses: 2
    Dernier message: 13/07/2005, 13h53

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