Génération de lien - d'url unique - valable 1 seule fois

Hello,

je cherche une solution permettant de générer une “URL Unique” pour télécharger un document à partir d’une vrai URL (URL Fixe).

Le contexte : un serveur de notification informe le client (via un agent - soft installé sur son poste) qu’une mise à jour ou un document est disponible et lui propose de le télécharger.
Si le client accepte, le serveur de Notification envoi une demande au serveur de download qui à partir d’une url fixe génére une adresse - un lien “Unique”.
On ne souhaite pas communiquer directement cette adresse pour des raisons de sécurité
(le listing des dossiers est bloqué par le fichier .htaccess pour l’ensemble du serveur de download)

Les contraintes sont les suivantes :

  • l’url ne doit être valable qu’une seule fois : rendu invalide/inutilisable à la fin du téléchargement (si celui-ci s’est terminé correctement).
  • un même fichier ne donnera pas la même url unique pour deux clients différents
  • l’url unique ne doit pas donner la possibilité de connaître la véritable url (ce que j’ai appelé url fixe un peu plus haut)
  • le client ne dois jamais connaitre la véritable url (l’URL Fixe)
  • langage php ou soft compatible unix / linux
  • le serveur de download n’est en contact avec le client (l’agent) que lors du téléchargement.
  • l’utilisation de Base de données est possible.

Est-ce que vous connaissez une telle solution ? le nom “technique” de cette solution ??
Si vous pensez qu’une telle solution est possible en php ?
Si un soft (compatible unix/linux) qui fait ça existe ??

Merci de votre aide,
Mathieu

Tu fais une base de donne avec :
‘idDownload’, ‘Lien Véritable’, ‘Hash’
Tu connais le hash qui correspond au fichier que tu veux, tu faire un page qui lis ta base de donnée converti le hash en un url que php lie et envois sur l’entrée standard avec les entetes qu’il faut. Juste apres la lecture tu modifies ta base de donnée pour changé le hash correspondant du fichier ( Comme ca le hash ne donne plus acces à rien ).
Edité le 07/07/2008 à 18:40

Merci PyrO_70

Est-ce la seule option possible ?
Connaissez-vous d’autres solutions ??