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

Sécurité Discussion :

Interdire l'accès à des fichiers en URL directe


Sujet :

Sécurité

  1. #1
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut Interdire l'accès à des fichiers en URL directe
    Bonjour,

    Je dois réaliser un site internet dans lequel je dois afficher des images après identification de l'utilisateur (login/mot de passe). Mon problème est que je ne sais pas comment faire pour interdire l'accès aux fichiers images qui se trouvent sur mon serveur web en tapant directement l'adresse URL dans un navigateur internet.

    J'ai donc besoin de trouver un moyen pour autoriser l'affichage de mes images dans mes pages web mais en interdire l'accès direct.

    J'ai vu qu'il était possible d'utiliser le htaccess en interdisant l'accès aux fichiers mais en autorisant l'exécution des scripts. Il me faudrait alors créer un fichier php comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?
    header("Content-type: image/gif");
    ?>
    Et depuis mes pages web faire appel à ce fichier comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="MonDossierProtegé/image.php" alt=""/>

    Pensez-vous que cela fonctionne? Ou avez-vous d'autres solutions à mettre en place afin d'arriver à ce que je veux?

    Cdt.
    Google est ton ami !

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Ce n'est pas comme ça que ça fonctionne. Il faut appeler ta page php dans le code source de l'image, et tu peux en profiter pour passer l'adresse de l'image en paramètre.

    page "affiche_img.php"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $img = isset($_GET['img'])? $_GET['img'] :'';
    header("Content-Type: image/jpeg");
    
    readfile("$img");
    ?>
    page visiteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans titre</title>
    </head>
    
    <body>
    <div style="text-align">
    <img src="affiche_img.php?img=Dossier_proteger_parhtaccess/image1.jpg" />
    </div>
    </body>
    </html>
    Mais attention ça prend pas mal de ressources puisque c'est php qui fait afficher les images.

  3. #3
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    Merci pour ces indications!

    Donc en paramétrant bien mon htaccess, je peux interdire l'accès directe aux fichiers .jpg !

    Et si quelqu'un utilise le même script depuis un autre site, il aura aussi accès aux images?

    Et n'y a t-il pas d'autres solutions pour protéger ces fichiers?
    Google est ton ami !

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par clyde1021 Voir le message
    Merci pour ces indications!

    Donc en paramétrant bien mon htaccess, je peux interdire l'accès directe aux fichiers .jpg !
    Oui. Dans le répertoire incluant ces fichiers il suffit d'avoir un fichier .htaccess avec la seule mention :
    Citation Envoyé par clyde1021 Voir le message
    Et si quelqu'un utilise le même script depuis un autre site, il aura aussi accès aux images?
    Non.

    Citation Envoyé par clyde1021 Voir le message
    Et n'y a t-il pas d'autres solutions pour protéger ces fichiers?
    A la place de mettre ces fichiers dans un .htacess tu peut les mettre dans un répertoire situé en dessous de la racine de ton site mais c'est pas forcément plus simple.

  5. #5
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    A la place de mettre ces fichiers dans un .htacess tu peut les mettre dans un répertoire situé en dessous de la racine de ton site mais c'est pas forcément plus simple.
    Effectivement ce ne serait pas plus simple mais cela me permettrait-il de ne pas passer par le php pour l'affichage de mes images? Je ne vois pas comment je peux accéder à un fichier qui n'est pas dans mon répertoire www ...
    Google est ton ami !

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par clyde1021 Voir le message
    Effectivement ce ne serait pas plus simple mais cela me permettrait-il de ne pas passer par le php pour l'affichage de mes images?
    Non et c'est pour cette raison que je dis que ce n'est pas plus simple.

Discussions similaires

  1. interdire l'accés à un fichier en tapant son url
    Par Le fut dans le forum Apache
    Réponses: 1
    Dernier message: 13/03/2007, 13h52
  2. [FPDF] création d'un interface pour accés à des fichiers PDF
    Par StyleXP dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/12/2005, 10h18
  3. accés à des fichiers *.db
    Par wincroc dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/08/2005, 14h48
  4. Chemin d'accès des fichiers dans des sous rep
    Par Le Veilleur dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/11/2004, 14h37
  5. Restreindre l'accès des fichiers..
    Par Neilos dans le forum Windows
    Réponses: 6
    Dernier message: 25/08/2004, 00h22

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