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 :

[Sécurité] renseignements [ .htaccess] [Fait]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut [Sécurité] renseignements [ .htaccess]
    Bonjour à tous, voila j'aurai un epetite question à vous posez.

    je concois et developpe un site de vente en ligne de partition de musique à l'unité. L'interet du site est que la personne commande sur le site, et peux après avoir régler la commande télécharger les partitions qu'elle a acheté.

    Pour ceci nosu avons un repertoire ou il y a nos partitions, que nous souhaitons protéger avec le fichier .htaccess. Mais je ne connais pas trop comment ceci fonctionne. j'ai compris en cherchant sur le net comment il marche, mais c techniquement que je coince.

    Je m'explique, une fois que le client à regler sa commande, il faut qu'il ai accès a ce repertoire, mais comment faire pour que nous lui demandons pas le mot de passe pour y acéder.

    les renseignements qui sont dans le fichier

    AuthUserFile /home/login/.htpasswd
    AuthGroupFile /dev/null
    AuthName "Acces Restreint"
    AuthType Basic
    <Limit GET POST>
    require valid-user
    </Limit>

    comment nous les remplissons, car je ne me vois pas faire un fichier .htpasswd
    avec le login et le mot de passe de tous les client, sachant qu'après avoir téléchargé sa commande, il ne devra plus y avoir accès.

    Alors je pensais transmettre au fichier les log et passe, mais je ne sais pas si c omme ça que nosu devons faire

    Si quelqu'un peut m'expliquer la solution car je ne compred pas tout.

    merci pour votre aide

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Personnelement je sortirais les documents en dehors de l'espace web, et ainsi seul le script php pourra fournir le document à condition que l'utilisateur soit correctement identifié.

    Par contre suivant ton hébergeur tu ne pourra pas forcément mettre des fichiers en dehors de ton espace www...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 31
    Points : 35
    Points
    35
    Par défaut
    Mr N. a raison
    Tu place tes fichier sur un serveur distant et tu ouvre tes fichiers avec php... C'est le plus simple et peut-être plus sur que htaccess

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    euh... pas besoin d'être sur un serveur distant

  5. #5
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    ou stoquer le fichier en binaire dans une DB, en fonction de la taille que ca représente...

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par titoumimi
    ou stoquer le fichier en binaire dans une DB, en fonction de la taille que ca représente...
    +1

  7. #7
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    c koi l'histoire du binaire. j'ai pas tout compris

    Sinon le coup du dossier en dehors du site peux fonctionner aussi car nous avons un seveur dedié. le problème c'est que j'aimerai savoir comment vous faite pour faire pointer le lien du repertoire WWW au repertoire home du serveur par exemple. je pense pas que le ../ fonctionne si?

  8. #8
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    meme non il fonctionne pas le../ il recherche dans le ww
    alors il faut qu'on puisse remonter au dessus du www, comment on fait

    svp

  9. #9
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Imaginons que sur ton serveur tu ais la structure suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    /home/httpd/www/
    /home/httpd/data/
    L'espace www est dans /home/httpd/www/, c'est à dire que tout ce qui se trouve en dehors de cet espace n'est pas accerssible de l'extérieur.

    Tu mets les partitions dans le répertoire /home/httpd/data/ (ou un sous répertoire /home/httpd/data/partitions/). Le répertoire choisi, tu le mets dans un fichier de conf php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    define(CHEMIN_PARTITIONS, '/home/httpd/data/partitions/');
    Et ensuite dans ton fichier de telechargement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($utilisateur->estCorrectementIdentifie()) {
       //telechargement de la partition
       header('Content-type: text/plain');
       readfile(CHEMIN_PARTITIONS.$partition);
    }

  10. #10
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    pour le binaire dans mySQL, il y a un très bon tuto (bin, il le fait avec des images, mais l'idée générale est bien là) :

    http://beaussier.developpez.com/arti...hp/mysql/blob/

Discussions similaires

  1. Problème sécurité avec .htaccess
    Par neospirit dans le forum Langage
    Réponses: 9
    Dernier message: 08/09/2009, 23h47
  2. Sécurité du htaccess
    Par Gwipi dans le forum Apache
    Réponses: 1
    Dernier message: 14/04/2006, 07h49
  3. [Sécurité] Sécurité avec .HTACCESS
    Par BRAUKRIS dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2006, 00h01
  4. [HTAccess] bloquer l'accès à un dossier : sécurité ?
    Par Rémiz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/11/2005, 10h01
  5. Réponses: 4
    Dernier message: 14/11/2005, 11h59

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