Cacher ou masquer le chemin d’access aux fichiers

J’autorise les utilisateurs à télécharger des fichiers .jpg, .pdf .doc .xls sur mon serveur Web sous leur propre compte, puis ils peuvent cliquer plus tard sur le nom du fichier pour afficher le document dans un navigateur ou sur le cas de .doc .xls , ils le téléchargent via l’invite du navigateur par défaut.

Je veux masquer / masquer le chemin de l’url afin qu’ils ne connaissent pas le chemin exact pour accéder au fichier, dans l’espoir de garder les fichiers sécurisés des autres comptes / utilisateurs.

J’utilise php, apache

Voici un exemple de chemin:

http://dev.site.com/administrator/account_files/1/documents/property_docs/1_68_1295980609myfile.pdf 

Comment pourrais-je cacher l’URL à quelque chose de plus comme:

 http://dev.site.com/1_68_1295980609myfile.pdf 

le but principal est de supprimer la référence à “administrator / account_files / ….”

Y a-t-il quelque chose avec le mod_rewrite d’Apache que je pourrais faire? J’ai lu quelques autres articles où les gens utilisaient le readfile () de php et utilisaient une page différente, mais je me demande si j’aurai des problèmes de performance pour le faire de cette façon.

Merci pour vos conseils.

Vous devez créer une table pour lire et stocker les chemins. Par exemple, regardez comment fonctionnent des sites tels que http://bit.ly ; Essentiellement, ils assignent une chaîne unique à une URL et c’est ce que vous cherchez à faire.

Il existe un certain nombre de scripts PHP qui peuvent raccourcir les URL pour vous et masquer ainsi les chemins, faites simplement une recherche Google .

Cela peut vous coûter un peu de performance, mais cela ne vous posera probablement aucun problème lorsque vous utilisez readfile. Ce n’est pas beaucoup de frais généraux. Le fichier doit être lu de toute façon, donc il est juste un peu de temps d’exécution du script PHP.

Si vous faites cela, vous pouvez même choisir de stocker le fichier dans un dossier en dehors de votre racine Web ou dans un dossier protégé par un mot de passe par .htaccess. Les deux techniques n’empêcheront pas le fichier de lire le fichier. Les deux sont donc de bons moyens de bloquer le fichier en cours de lecture.

Vous devez forcer PHP à télécharger ce fichier: