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 :

Htaccess et PHP


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Htaccess et PHP
    Bonjours, je suis ici car, j'aimerais protéger l'acces à la lecture de PDF afin que seul les membres connecté puissent les lires.

    Mes recherches ont beaucoup été tournée vers Htaccess mais, je n'ai pas réussi à faire ce que je voulais.

    Peut'on bloquer l'acces à des utilisateurs anonyme ? Si oui, comment ?

    J'ai déjà fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
    include_once './includes/bootstrap.inc';
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
    global $user;
    if(!$user->uid) {
    ?>
    AuthUserFile /files/docs/prove/.htpasswd
    AuthGroupFile /dev/null
    AuthName "Acces Restreint"
    AuthType Basic
    <Limit GET POST>
    require valid-user
    </Limit>
    <?php
    }
    ?>
    Mais, une erreur 500 apparait. Je penses qu'il n'est pas possible de coder en PHP.

    Merci d'avance.

  2. #2
    Membre du Club Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Points : 57
    Points
    57
    Par défaut
    le htacces est un fichier que tu met dans le répertoire que tu veux protéger
    tu le nomme ".htacces" et tu met tes instructions dedans AuthUserFile .....

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui, ça j'ai compris. EN prenant en compte, un autre document :

    .htpasswd

    Mais, ça marcherait seulement si j'avais que trois ou 4 noms. Là, c'est toutes une base de donnée qu'il faut que je repreine. Je crois qu'il est possible de coder en php dans un .htpasswd.

    Mais, existe t'il une fonction ou autre permettant de dire : "Autoriser ceux qui sont connecté".

    Merci.

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Pour ton htaccess il faudrait configurer apache pour lui dire qu'il doit interpreter le code PHP qui se trouve dedans ....maintenant quid de la securite ??
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre du Club Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Points : 57
    Points
    57
    Par défaut
    nan tu met pas du code php dans un .htacces, a la limite tu peux générer ton .htacces avec du php.

    pour les contrôles d'accès ça ce passe la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <Limit GET POST>
    Require valid-user
    {instruction d'accès à satisfaire }
    </Limit>

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    okay, merci.

    Donc :

    <Limit GET POST>
    Require valid-user<== Osef du valide-user... Ou alors, la liste sera très longue !!
    {instruction d'accès à satisfaire }
    require group utilisateur <= Je viens de découvrir ça. Les membres faisant partie du groupe utilisateur (dans la DB) ont access ?
    </Limit>
    Merci pour vos réponses.


    EDIT :

    Ce que je veux, c'est empêcher l'access aux utilisateurs anonyme pour lire des fichiers PDF via l'URL. Donc, empêcher tout le monde, sauf ceux qui sont connecté. Sauf que, je ne veux pas qu'ils aient besoin d'entrer un MDP et Login. Mais, que la vérification soit fait directement si l'utilisateur est connecté ou non.

  7. #7
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    , si j'ai bien compris ce que tu es en train de faire: je ne pense pas que ce soit la meilleur solution.

    Il vaudrait peut être mieux mettre en place une solution d'authentification avec login est mot de passe personnalisé. Tu dois pour cela utilisé une BD et définir une liste d'utilisateur.
    C'est surement plus long dans un premier temps à mettre en oeuvre mais ensuite tu pourras gérer les accès sur tous ton site. C'est ce que l'on fait en général
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    C'est ce que j'ai déjà fais. En gros, l'acces aux pages qui permettent de rejoindre les liens menant vers les PDF sont bloqué parune vérification en fonction de si oui ou non, un utilisateur est connecté.

    Mais, il y a un souci. Si quelqu'un connait l'URL, il peut acceder aux PDF même non loggé. D'ou le Htaccess. J'ai configuré un Htaccess mais là, ça me demande un login et pass.

    Sauf que, j'ai pas envis de ça Ce que je veux, c'est que le Htaccess regarde si l'utilisateur est connecté. Si oui, ça passe. Si non, ça passe pas.

    Sauf si, il existe un autre moyen en php, de permettre de bloquer une extention de dossier (FTP) à des anonymes. (mais, je ne crois).

    Exemple :
    Ce lien :
    http://www.reseau-idee.be/agenda/pdf..._2008_2009.pdf

    Empêcher d'y acceder (sauf si connecté). Tout en sachant que dans le dossier pdf, il y aura plein d'autre fichier .pdf

    Merci d'avance ^^

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Je viens de trouver ça

    RewriteEngine on
    RewriteRule ^(.*)$ /index.php?file=$1 [L]


    ça permet de rediriger vers une autre page afin de vérifier un code php. Mais, j'ai du mal à comprendre ça ...

  10. #10
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Je persiste à dire que tu n'es pas sur le bon chemin. Essaye ceci, une fois tel quel et l'autre en enlevant les commentaires.
    L'utilisateur ne peut pas connaître l'url?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    //if( $_COOKIE['Login'] AND $_COOKIE['MotdePasse']){
     
    	header("Content-type:application/pdf");
     
    	header("Content-Disposition:attachment;filename='document.pdf'");
     
    	readfile("ton_fichier.pdf");
    // }
    // else{
    // 	echo "Non authentifié !! Au revoir";
    // }
    ?>
    Il te reste quand même à faire en sorte que les cookie soient stockés, tu peux aussi travailler avec une SESSION.
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  11. #11
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    Mon aide ne sera pas un "voici comment faire", mais plutot du style "voici les options qui s'offrent à toi".

    Plusieurs solutions:

    #1:
    En effet, vouloir intégrer du code dans un fichier autre que .php est possible. Mais demande de modifier la configuration du serveur pour que celui-ci interprète d'autres fichiers que les .php. Tu va perdre beaucoup trop en portabilité de ton site: ne fait pas ca.

    #2:
    Tu peux créer un script pour modifier ton fichier .htpasswd.
    Au lieu de vouloir que le fichier ai accès à la base de données, tu pourrait modifier le fichier à chaque modification de la base de données... ou périodiquement.

    #3:
    Tu peux ensuite changer le header de ton fichier php pour faire croire que c'est un autre fichier, via les types mime. C'est ce que riete a proposé. Ce fichier va valider l'accès, et s'il est bon, inclure (donner accès) le fichier PDF à travers lui-même. Les navigateurs n'y veront que du feu.

    #3.1:
    Tu peux ensuite créer des REWRITE_RULES si tu as accès au MOD_REWRITE d'apache pour transformer une adresse du genre:
    http://www.monsite.com/pdf/cours1.pdf
    en:
    http://www.monsite.com/accesPdf.php?file=cours1.pdf

    L'utilisateur n'y verra aussi que du feu et pensera accéder directement au fichier.

    Voilà, j'espère que ca t'aidera

Discussions similaires

  1. Contourner htaccess avec php
    Par ROUSA1 dans le forum Apache
    Réponses: 1
    Dernier message: 07/10/2010, 12h40
  2. Créer un fichier .htaccess en PHP
    Par magnum812 dans le forum Langage
    Réponses: 1
    Dernier message: 30/07/2008, 18h27
  3. Contourner identification .htaccess en php
    Par rols35 dans le forum Apache
    Réponses: 4
    Dernier message: 30/01/2008, 18h49
  4. htaccess 404 php
    Par yankey dans le forum Apache
    Réponses: 3
    Dernier message: 27/06/2007, 14h55
  5. Sessions Apache, htaccess et PHP.
    Par Invité dans le forum Apache
    Réponses: 2
    Dernier message: 31/05/2007, 10h27

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