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 :

Protection et Acces Dossiers


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut Protection et Acces Dossiers
    Bonjour tout le monde.

    Je suis en train de développez un système de GED (Gestion Electronique de Document) en interne pour mon entreprise.
    Je bloque sur un point de conception, et je pense que vous pourrez sûrement m'aider car je manque d'expérience:

    j'ai un dossier "file" qui stock tout les fichiers dans une arborescence complète de sous dossier créés à la volée
    Je cherche un moyen d'interdire l'accès à ces fichiers par les utilisateurs.
    .htaccess, c'était pas dur...
    Oui... mais non
    le soucis c'est que php doit toujours pouvoir proposer le téléchargement des fichiers, car c'est lui qui gère les droits de groupe et utilisateurs...

    Merci d'avance


    Edit: sinon, renommer les fichiers avec un nom de 30 caractères aléatoire avec les nom réels enregistré dans une base, pensez vous que cela soit assez secure ? pas sur, hein ? :s

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,

    le bon mécanisme de sécurité consiste à écrire ces différentes informations (droits utilisateurs, dossiers accessibles et tout ...) en base de données, ça te permettras de mettre en place un système de téléchargement sécurisé comme c'est décrit dans la FAQ : URL="http://php.developpez.com/faq/?page=fichiers_upload#fichiers_protectdownload".

    A toi de faire la suite !
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  3. #3
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Ah, j'étais pas loin sur mon edit ^^
    ça m'a l'air correct
    le soucis c'est que si le dossier d'origine est trouvé, les fichiers restent accessibles... :S
    Soit! il faut trouver le chemin... mais bon.. Windows à bien démontré que cacher son code ne suffis pas à être sécurisé...
    Surtout que ça servira de module pour un CMS, donc le chemin d'accès aux fichiers serra connu de bien du monde.

    edit: Ou sinon je repars sur mon idée de nom de fichier aléatoire, couplé à un anti-bruteforce pour réduire au maximum les risques que le chemin d'accès direct ne soit retrouvé...
    mais bon... ça reste de la sécurité à la microsoft...

    edit2: apache ne peut-il pas faire la différence entre une requête directe et une requête exécuté par php ? ça permetrai de n'autoriser QUE php à délivrer les fichiers, mais bon encore un problème: soucis de portabilité.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    .htaccess, c'était pas dur...


    Sérieusement, tu peux bloquer le répertoire avec htaccess et passer par un script PHP pour lire le fichier sans problème.
    Pourfendeur de singletons en croisade

  5. #5
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Mouarf
    Résolu

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par Petibidon Voir le message


    Sérieusement, tu peux bloquer le répertoire avec htaccess et passer par un script PHP pour lire le fichier sans problème.
    Plus que bloquer l'accès au dossier, il faut le mettre en dehors de la portée de apache, c'est à dire hors du "document root".

    Le fichier ne pourra alors être chargé que par l'intermédiaire d'un script php sur lequel tu auras tout le contrôle voulu.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  7. #7
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Bah j'y ai pensé mais ça pause problème pour la portabilité: on parle d'un cms
    je dis pas que c'est impossible, mais ça deviens galère:
    lors de l'installation du cms il faut prévoir la création d'un dossier (sous toute architecture) externe à apache, et cela ne simplifie pas l'organisation la maintenance ni l'évolution de l'appli, puisqu'il serra dispersé en plusieurs parties.
    j'y réfléchirai plus tard, mais pour le moment je pense que le htacces me suffira s'il rends inaccessible les fichiers, mais que php puisse toujours proposé le téléchargement.
    Je verrais sur la fin de la conception: si un dossier externe à apache regroupant tout les up/download je m'en occuperai a ce moment
    Pour le moment tout fonctionne comme je le souhaitais, grâce au htaccess et au script de téléchargement php.

    Merci pour tout

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

Discussions similaires

  1. asp.net Accès Dossier
    Par IcedLand dans le forum ASP.NET
    Réponses: 0
    Dernier message: 04/09/2007, 18h33
  2. Accès Dossier Externe
    Par Invité dans le forum Apache
    Réponses: 2
    Dernier message: 17/08/2007, 09h15
  3. Jar et accès dossier
    Par elfiestador dans le forum Langage
    Réponses: 5
    Dernier message: 31/07/2007, 17h23
  4. [Apache] Probleme acces dossier
    Par jak0 dans le forum Apache
    Réponses: 3
    Dernier message: 26/01/2006, 13h21
  5. Protection d'acces au serveur
    Par digital prophecy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/10/2005, 08h47

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