Bonjour,

J'ai réalisé un site récemment ou il existe un espace client dans lequel ceux-ci peuvent déposer des documents accessible uniquement par l'admin (un comptable).

J'ai procédé de la sorte:

Lors de la création d'un client un dossier portant comme nom l'id de celui-ci est crée dans le dossier principal "Uplaod".
Pour accorder aux clients le droit de déposer et télécharger des dossiers depuis le site j'ai du donner les droits à tous les utilisateurs de pouvoir faire ces actions sur le dossier "uplaod" et tous ces sous-dossiers depuis mon interface "OVH".

Le problème maintenant est que depuis le listing de ces documents, un client pour faire un affichage du code source et voir le chemin d'accès au dossier "upload" et donc accéder à celui-ci et donc à tous les documents qu'il contient.

J'avais trouvé une astuce avec du javascript mais vu que celui-ci est désactivable ...

Quelqu'un a-t-il une astuce ?
Toutes les solutions basées sur javascript n'ont strictement aucun intérêt: comme tu l'as très bien dit, c'est désactivable.

La solution est donc côté serveur et elle consiste avant tout à
1 - Ne jamais faire apparaître en clair le chemin exact vers le fichier tel qu'il est dans ton système de fichiers réel, pour empêcher tant que possible les accès directs
2 - Protéger les dossiers contenant les fichiers pour éviter qu'on puisse y accéder directement au cas où quelqu'un les trouvait. Solution simple: deny from all dans un .htaccess
3 - Pour permettre un accès aux fichiers ou au contraire le refuser, utiliser des URL personnalisées ou des URL avec paramètres et un langage côté serveur qui décidera ce qu'on peut faire ou pas
Bonjour Quentin,

merci pour ta réponse,

pour la première solution je suppose que tu veux dire simplement ne pas afficher dans la partie visible le chemin d'accès complet et donc forcer l'utilisateur à devoir afficher le code de la page pour voir le chemin ?
le seule façon de voir le chemin d'accès actuel est de faire un affichage du code source.
donc rien dans l'url. Tu connais une solution pour dissimuler le chemin dans le code source même de la page ?( pour empêcher à n'importe qui de connaitre le nom du dossier principal)
Bonjour,

Alors, j'ai 2/3 idées.

Pour commencer, il faudrait :
Plutot que de créer un dossier qui possède l'id de l'utilisateur, créer un dossier du type :
md5($id.$nom.'Salt');
Pour le nom des fichiers, tu peux faire pareil. Un nom qui n'est pas guessable.

Après, afin de controler tout cela, il suffit de te faire une page, qui permet de télécharger le fichier, et vérifie que la personne est bien logguée. Celle ci, lit le fichier, et l'envoi. Plutôt que de donner le lien correct. De plus, cela te permet de stocker tes fichiers, dans un dossier inférieur a ta racine /.