Bonjour à tous,
J'aimerais mettre en place un système sécurisé pour le téléchargement de fichiers appartenant à mes membres.
Voilà ce que je souhaite faire et ma solution avec (si j'en ai une):
1ère étape: Le membre uploade un fichier dans un dossier protégé par htaccess (on ne sait jamais).
Le htaccess est-il "obligatoire"? Vaut-il mieux "planquer" mon dossier où les fichiers atterrissent? Ou quoi que je fasse le dossier est "récupérable"?
2ème étape: Je stocke la présentation du membre du fichier dans la bdd (donc un coup de insert into).
3ème étape: Je récupère le fichier, je valide ou non son contenu.
4ème étape: Partie admin, j'aimerais créer une page automatiquement avec comme nom, le nom du fichier. Ex: monndd.com/nomdufichier. Un peu comme les blogs, qui génèrent une page pour chaque article.
Je suppose que c'est une question de get, d'url rewriting et de template.
J'aimerais bien la procédure détaillée, si possible.
5ème étape: Si un autre membre demande à télécharger le fichier, je génère un lien du fichier par lien symbolique pour protéger le vrai chemin du fichier. Je laisse un accès au lien symbolique quelques jours (un ou deux) pour éviter les abus. (Je cherche aussi un moyen pour vérifier si le membre a vraiment demandé l'accès au fichier).
A la fin de cette durée, je down le lien symbolique.
Le lien symbolique est-il une bonne idée? Le but est de cacher le chemin original du fichier dans le dossier htaccess.
J'ai remarqué que la plupart des sites passe par des sous-domaine pour lancer le téléchargement des fichiers. Est-ce une norme?
J'ai lu qu'il fallait forcer le téléchargement mais je n'ai jamais trouvé pourquoi faut-il le faire.
Dans un premier temps, j'aimerais votre avis sur mes idées et/ou des réponses à mes interrogations.
Dans un second temps, n'hésitez pas à proposer vos idées d'amélioration.
PS: Je voudrais faire quelque chose de propre et qui respecte les normes actuelles. Je ne suis pas pressé donc proposez vos idées.
PS': Je ne connais que très peu la gestion de fichiers avec php donc évitez de me donner des réponses de 2 mots
Merci pour vos réponses
Partager