Forum-webmaster
Technique - programmation => Langages de programmation divers => Message commencé par: Fabien le le 28-10-2003 a 19:44:57

Titre: [CONCEPT] Téléchargement unique
Posté par: Fabien le le 28-10-2003 a 19:44:57

Premièrement, je voudrais juste dire que mon message n'est pas la pour résoudre un problème, mais c'est plus pour lancer une discussion pour comment il serait possible de mettre en place un système de téléchargement unique.

Je m'explique, imaginons que je vendent un logiciel (c'est l'exemple le plus simple qui me soit venu à l'esprit). Je voudrais que les personnes ayant acheté le logiciel puissent le télécharger mais bien sur que les autres ne puissent pas.

1. Créer des répertoires temporaires ? c'est peut-etre trop de travail pour si peu de chose.
2. Un ftp ? je pense pas que ça soit facile de modifier un mot de passe ftp aussi facilement (enfin surtout en mutualisé)..
3. Un système avec .htaccess que l'on modifirais de manière dynamique..

Si vous avez une idée... poster là.

PS: Je ne lance pas la discussion dans un language spécifique. C'est plus le concept, l'algo que je recherche...

Titre: Re:[CONCEPT] Téléchargement unique
Posté par: Netah le le 03-11-2003 a 10:50:16

Ce sujet a déjà été abordé sous le nom de "téléchargement anonyme".

Je peux etre précis en asp mais je ne pense pas que ça t'intéresse alors je vais rester vague pour que tu trouves ta solution en php je pense.

Désolé si je dis qq bétises, je ne suis pas un pro serveur et connection ::)

Le téléchargement, c'est juste une requete au serveur. Si tu fais un lien, ton navigateur va choisir le type mime adéquat et faire la requete mais tu peux aussi le faire avec un script.

Tu peux donc aller lire un fichier et le renvoyer au client. En asp, ca te donnera un truc du genre :

Code:

   Response.ContentType = ContentType
   Response.Addheader "Content-Length", ObjInfoFile.Size
   Response.Addheader "Content-Disposition", "attachment; filename=" & File
   Response.Write ObjFile.ReadAll

ou ContentType est :

Code:

Select Case lcase(FileExt)
Case "avi" ContentType = "video/x-msvideo"
Case "mp3" ContentType = "audio/mpeg"
Case "ogg" ContentType = "audio/mpeg"
      Case "mpg" ContentType = "video/mpeg"
Case "wav" ContentType = "audio/wav"
Case "rar" ContentType = "application/x-rar-compressed"
Case "zip" ContentType = "application/x-zip-compressed"
      Case "xls" ContentType = "application/x-msexcel"
      Case "txt" ContentType = "text/plain"
      Case "htm" ContentType = "text/html"
      Case "gif" ContentType = "image/GIF"
      Case "jpg" ContentType = "image/JPEG"
      Case "cdf" ContentType = "application/x-cdf" 'channel
      Case "doc" ContentType = "application/msword"
      Case "ppt" ContentType = "application/vnd.ms-powerpoint"
      Case "exe" ContentType = "application/octet-stream"
Case Else ContentType = FileExt
End Select


en fait, quand tu feras un lien, ce sera du genre :

Code:

<a href="download.asp?file=toto.zip" target="_blank">télécharger</a>


Ainsi, si tu fais une petite vérif avec des sessions, tu as un parfais controle sur qui download quoi, tu peux tout enregistrer et faire des stats et surtout, personne ne sais de quel dossier tu télécharge le fichier (evite le traditionnel 'download' :P).
N'oublie pas de configurer le robot.txt pour éviter de voir la liste de tes fichiers sur google.


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.