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 :

accès fichier pdf


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 45
    Points
    45
    Par défaut accès fichier pdf
    Bonjour,

    Je viens de créer sur mon site des pages protégées par Login et Mot de Passe via phpSecurePages.
    Jusque là pas de problèmes.

    Dans ces pages il y a des liens vers des fichiers .pdf, ceux s'ouvrent bien mais j'ai constaté qu'il suffit de copier l'adresse et de l'envoyer via un autre navigateur et ces fichiers s'ouvrent sans demander ni login ni mot de passe.
    En fait cela zappe la protection.

    Existe t'il une parade à cela, comment faire pour que ce pdf ne s'ouvre qu'avec la session crée ?

    Merci pour vos réponses

    Jean-Mimi

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il s'agit d'un lien direct vers un fichier pdf stocké sur le serveur
    ?

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il s'agit d'un lien direct vers un fichier pdf stocké sur le serveur
    ?
    Hello,

    Exact,
    voilà dans la page protégée par un Login et Mot de Passe le lien vers le .pdf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a onclick="window.open(this.href, '_blank'); return false;" href="Accesreserve/toto.pdf">test</a><br>

  4. #4
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Bonjour, peut-être une formulation dans le genre ferait l'affaire.
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <a onclick="window.open(this.href, '_blank'); return false;" href="
    <?php
    if ((isset($_SESSION['login'])) 
    { 
    print("Accesreserve/toto.pdf");
    }
    else
    {
    print("page-identification.php");
    }
    ?>
    ">test</a>

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ta methode ne changerait pas le problème alain, si un utilisateur indique manuellement le nom du fichier, il y aurait accès.

    Il faudrait :
    - placer les fichiers dans un dossier interdit d'accès
    - utiliser une page intermediaire qui recoit le fichier a fournir en paramètre, vérifie la session et si c'est ok, fourni le fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (isset($_SESSION['login'])) {
    $file = nettoyage($_GET['fichier'];
    header("Content-disposition: attachment; filename=" . $file); 
    header('Content-Type: application/octet-stream');
    header('Content-Transfer-Encoding: binary');
         echo file_get_contents('repertoire_interdit/' . $file);
    Dans mon code, il manque la fonction nettoyage qui servirait a controler que le nom de fichier fourni est correct et ne contient rien de louche.

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par alain31tl Voir le message
    Bonjour, peut-être une formulation dans le genre ferait l'affaire.
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <a onclick="window.open(this.href, '_blank'); return false;" href="
    <?php
    if ((isset($_SESSION['login'])) 
    { 
    print("Accesreserve/toto.pdf");
    }
    else
    {
    print("page-identification.php");
    }
    ?>
    ">test</a>
    Merci pour la réponse
    Attention il y a une parenthèse en trop au début du if.

    Ok j'ouvre bien le pdf, mais si en copiant l'url www.titi/Accesreserve/toto.pdf
    dans un autre navigateur le pdf s'ouvre sans rien demander.

    J'ai bien cherché avec notre ami Google mais je n'ai rien trouvé.
    un moyen de contourner le problème et éviter que des petits malins retrouvent le nom du fichier c'est de le renommer d'une manière "exotique", c'est à dire au lieu de toto.pdf mettre a125gft45.pdf

    Mais c'est sur c'est pas très technique.

  7. #7
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ta methode ne changerait pas le problème alain, si un utilisateur indique manuellement le nom du fichier, il y aurait accès.


    Dans cette hypothése, en effet.
    En fait, tout dépend du niveau auquel ce fichier doit être protégé, et dans quelles conditions.
    J'étais parti sur cette suggestion car le chemin et le nom du fichier demeurait invisible si pas de session.

    Maintenant si les individus peuvent se filer l'info, je ne vois pas comment protéger le truc.
    Exemple :
    Si je peux acéder à cette info, je peux aussi bien communiquer le lien, tout comme faire une copie du pdf acquis et la distribuer.

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par alain31tl Voir le message
    Dans cette hypothése, en effet.
    En fait, tout dépend du niveau auquel ce fichier doit être protégé, et dans quelles conditions.
    J'étais parti sur cette suggestion car le chemin et le nom du fichier demeurait invisible si pas de session.

    Maintenant si les individus peuvent se filer l'info, je ne vois pas comment protéger le truc.
    Exemple :
    Si je peux acéder à cette info, je peux aussi bien communiquer le lien, tout comme faire une copie du pdf acquis et la distribuer.
    Hello Alain,

    Je suis d'accord avec toi.
    Bon le site que je gère c'est pas non plus celui du Pentagone.
    Ce que je vais faire c'est nommer mes fichiers .pdf avec des intitulés qui ne veulent rien dire (du style 125fg54.pdf)
    Les pages sont déjà protégées par un Login et MdP.

    Je pensais bien que ce problème était ardue, merci d'y avoir réfléchi

  9. #9
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Citation Envoyé par pounie Voir le message
    Ce que je vais faire c'est nommer mes fichiers .pdf avec des intitulés qui ne veulent rien dire (du style 125fg54.pdf)
    Ou même peut-être bien utiliser la fonction "rename" aprés chaque open du fichier.

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par alain31tl Voir le message
    Ou même peut-être bien utiliser la fonction "rename" aprés chaque open du fichier.
    Hello,

    Merci à tous pour votre aide.

    Je clos donc le sujet

    A bientôt

    Jean-Mimi

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

Discussions similaires

  1. Accès fichier pdf entre sous-domaine et domaine
    Par Fuertes dans le forum Langage
    Réponses: 0
    Dernier message: 24/04/2012, 17h16
  2. Réponses: 9
    Dernier message: 06/01/2009, 18h39
  3. Plus d'accès aux fichiers PDF depuis IIS
    Par jiper6f dans le forum IIS
    Réponses: 0
    Dernier message: 28/11/2007, 14h11
  4. Accès protégé à des fichiers pdf
    Par phil83 dans le forum Apache
    Réponses: 4
    Dernier message: 07/12/2006, 10h29
  5. [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

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