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

Langage PHP Discussion :

Restreindre l'accés directe au photos d'une gallerie


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Restreindre l'accés directe au photos d'une gallerie
    Hi,

    Bonjour tt le monde, c'est mon premier message sur ce forum..
    J'espère avoir une réponse a une question qui me fait galérer!

    Ce que je veux faire c'est limiter l'acces aux photos d'un dossier de façon a ce qu'on puisse les afficher dans une page web, toute en
    empechant l'accès via leurs adresse sur le serveur.

    exemple: www.monsite.com/gallerie/image1.jpg : ne doit pas donner l'image
    mais l'image peut s'afficher sur une liste selon des conditions données.

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 374
    Points : 15 725
    Points
    15 725
    Par défaut
    Citation Envoyé par elmohib1
    exemple: www.monsite.com/gallerie/image1.jpg : ne doit pas donner l'image
    ce que tu veux faire n'est pas possible, dans le code html l'image est appelée par l'URL que tu as donné donc si tu empêche d'accéder à l'URL l'image ne s'affichera pas
    ce que tu peux faire par exemple, c'est donner l'accès à certaines images à l'aide d'un nom d'utilisateur et un mot de passe

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    La structure que j'ai est la comme suite:
    Gallerie/IMG100_icon.jpg (photo icone)
    Gallerie/IMG100.jpg (photo normal)

    je veux pouvoir afficher les icone dans la page de liste et controller l'affichage des photo réel selon des conditons! (les afficher si les conditions sont vérifié ou y restreindre l'acces sinon)

    y a t-il moyen de donner à un fichier php par exemple les données d'authentification htaccess/htpasswd, pour qu'il puisse lire les fichiers d'un dossier protégé par exemple?

    Avez d'autre proposition pour implémenter un tel systèm?

    Merci.

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 374
    Points : 15 725
    Points
    15 725
    Par défaut
    Citation Envoyé par elmohib1
    je veux pouvoir afficher les icone dans la page de liste et controller l'affichage des photo réel selon des conditons! (les afficher si les conditions sont vérifié ou y restreindre l'acces sinon)
    quelles sont ces conditions ?

    Citation Envoyé par elmohib1
    y a t-il moyen de donner à un fichier php par exemple les données d'authentification htaccess/htpasswd, pour qu'il puisse lire les fichiers d'un dossier protégé par exemple?
    oui c'est possible
    le plus pratique est de mettre le dossier protégés en dehors des répertoires web et ensuite le script PHP peut les lire et l'afficher si les conditions sont remplies

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Repertoire gallerie hors repertoire web! comment?
    - Les conditions sont l'ouverture d'une session client(être inscrit comme client activé).
    - Pour votre solution, j'ai pas bien compris comment la réaliser..., j'ai déjà vu quelque part et tester, mais il semble que le script PHP n'a pas pu avoir accès au photos du dossier qu'était hors repertoire web.

    Voila la structure que j'ai mis comme test:
    www/liste.php
    gallerie/image.jpg

    www étant le répertoir web (racine)!
    dans la liste je donne aux paths des photos par exemple "../gallerie/Image.jpg", mais rien ne s'affiche, même si le dossier gallerie n'est pas protégé a ce moment.

    Pouvez vous m'expliquer comment mettre en place un tel mécanisme?

    Merci

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 374
    Points : 15 725
    Points
    15 725
    Par défaut
    ça fonctionne avec le répertoire "gallerie" au même niveau que le répertoire "www"
    en gros tu auras un fichier lireImage.php dans ton répertoire www pour la vérification des images. Donc dans ton code html tu auras quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="lireImage.php?image=arbre.jpg" alt=""/>
    et le script lireImage.php ferra les opérations suivantes :
    - vérifier dans le session PHP que le client est bien connecté
    - vérifier que le paramètre image est bien valide (pour empêcher les appel du genre "lireImage.php?image=../www/mysql.php" qui permetterai à un pirate de récupérer les codes d'accès à ta base de données par exemple)
    - si tout est bon, lecture du fichier du répertoire "gallerie" et affichage

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    C'est bien la solution que j'avais mis en place!
    Avec la fonction readfile(), pour lire les images,
    Mais j'ai un petit problème qui est la lenteur de téléchargement!
    Est-ce normal? y-t-il un moyen pour mieux faire avec cette méthode?

    Il me reste à ce que je mette le dossier gallerie au même niveau que www pour voir si le script aura accès à ce niveau ou pas!

    Merci Mathieu!!

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 374
    Points : 15 725
    Points
    15 725
    Par défaut
    Citation Envoyé par elmohib1
    Mais j'ai un petit problème qui est la lenteur de téléchargement!
    Est-ce normal? y-t-il un moyen pour mieux faire avec cette méthode?
    le script PHP prend souvent moins d'une seconde pour s'exécuter donc s'il y a un délai de téléchargement tu aura presque le même avec un accès direct à l'image

    Citation Envoyé par elmohib1
    Il me reste à ce que je mette le dossier gallerie au même niveau que www pour voir si le script aura accès à ce niveau ou pas!
    oui comme ça tu sera sur que le répertoire "gallerie" n'est pas accessible directement

  9. #9
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    le script PHP prend souvent moins d'une seconde pour s'exécuter donc s'il y a un délai de téléchargement tu aura presque le même avec un accès direct à l'image
    Oui c'est bien ca, mais imagine avec 16 image sur la liste, plus 16 image detail (400x200) qui s'affiche apres le survol d'une icone (130x170)!!

    Ce qui rend le téléchargement un peu lent!

  10. #10
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    La solution que j'ai adopté pour palier à la lenteur de téléchargment des photos, c'est de mettre les photos small et detail dans un dossier web-accesible, donc je les affiche directment sans passer par la fonction readfile et le script php!

    et les photos originaux, je les enregistre dans un dossier protégé et je les récupère via le script php!

    Merci

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

Discussions similaires

  1. Accès direct aux annonces d'une commune - site pôle emploi
    Par devwald dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 23/01/2012, 11h55
  2. Accès direct aux annonces d'une commune - site pôle emploi
    Par devwald dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/01/2012, 14h55
  3. Monter et modifier directement vos photos dans une application ACCESS
    Par alassanediakite dans le forum Contribuez
    Réponses: 2
    Dernier message: 16/10/2008, 11h02
  4. Réponses: 5
    Dernier message: 15/03/2008, 21h44
  5. Restreindre l'accès direct à un repertoire
    Par khokho dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 31/01/2007, 18h14

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