Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web
Général Conception Web Forum d'entraide sur les choix technologiques. Avant de poster : Cours Dév. Web, FAQs Dév. Web, Sources Dév. Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/01/2008, 10h34   #1
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Par défaut Limiter dans le temps un téléchargement

Bonjour,

Comment limiter dans le temps un téléchargement ?

Merci
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 20h54   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Comme ça :

C'est quoi cette question ? Tu peux détailler ? Tu veux que ça coupe même si le téléchargement n'est pas fini ? Tu veux que ça télécharge nécessairement dans un temps imparti ? Quelle techno ? La couleur de ta voiture ?
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 09h21   #3
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Possibilité pour un internaute de pouvoir télécharger un fichier donné pendant 2 ou 3 jours.

=> html, php

PS:
Citation:
La couleur de ta voiture ?
_Mac_, je te demanderais d'être plus correct stp.
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 11h31   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Ah, tu es piéton, désolé. L'humour, connaîs pas ?

C'est un très gros fichier à télécharger et tu veux que le visiteur puisse le télécharger sur plusieurs jours, c'est ça ? Le problème que tu voudrais gérer ce sont les reprises de téléchargement ?
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 11h51   #5
Membre éclairé
 
Étudiant
Inscription : mars 2007
Messages : 284
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 284
Points : 302
Points : 302
Je pense qu'il veux dire que l'on peut télécharger le fihier (peu importe la taille ... meme 10ko) pendant par eemple deu jourset apres le lien disparait ...
Loïc M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 11h59   #6
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Ah, oui !!! Effectivement, j'avais pas du tout compris

Dans ce cas, y a plusieurs variantes possibles. L'une d'entre elle :
  1. Qq'1 demande un téléchargement. Le fichier à télécharger est identifié, il est copié (ou on fait un lien symbolique dessus) dans un répertoire temporaire nouvellement créé.
  2. Une URL de téléchargement est renvoyée au client et il télécharge.
  3. Régulièrement (cela veut dire qu'il faut mettre un scheduler en place ou un mécanisme façon cron ou webcron), un processus est lancé. Ce processus regarde les répertoires temporaires qui on été créés. Il compare la date de création du répertoire avec la date du jour - un certain délai. Si le délai est dépassé, alors ce processus supprime le répertoire temporaire.
Les variantes se jouent sur la façon de calculer les URL de téléchargement et de les protéger, i.e. faire en sorte que seule la personne habilitée puisse télécharger le fichier, etc.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 15h02   #7
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
1. comment on fait un lien symbolique dessus dans un répertoire temporaire nouvellement créé ?
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 16h05   #8
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Ca dépend de l'OS et du langage de programmation. Par exemple, sous Windows, on a la notion de raccourci mais ce n'est pas aussi puissant que les liens symboliques. L'idée c'est de ne pas avoir à copier un fichier tout en sécurisant (ou limitant) son accès. Mais tu peux ne pas avoir à faire de liens symboliques : comme je disais, tout dépend de la façon de créer les URL vers les fichiers téléchargeables. Par exemple, les URL peuvent être http://.../telecharger?fid=codefichi...telechargement. Dans ce cas, le programme caché derrière /telecharger utilise les paramètres d'URL pour vérifier la validité de la clé et renvoyer le fichier identifié par fid. L'idée du répertoire et liens symboliques c'est une alternative pas forcément meiulleure, d'ailleurs. C'est juste que c'est la première idée qui m'est venue
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 16h42   #9
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Je travaille avec apache => php & html.
Serveur : http://www.infomaniak.ch/

J'utilise pour l'instant un script pour cacher le lien.

Mon pb est que les fichier télécharger sont payants, donc je cherche un moyen pour pas qu'on ne puisse pas télécharger N fois un fichier et q'un rigolo réussisse à télécharger d'autre fichiers.

L'idée du rep avec lien symbolique me parait bien pour ça.
Mais comment fait-on pour créer un fichier avec un lien symbolique ?

Merci
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 17h23   #10
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
En PHP, c'est la fonction link.

Par rapport à ce que tu dis, le fait de faire un lien symbolique ça ne va pas facilement permettre d'empêcher de télécharger un fichier plusieurs fois : si tu donnes directement l'URL du fichier dans son répertoire temporaire sans passer par une moulinette PHP (i.e. l'URL est http://.../tempdir/monfichier.pdf par exemple et pas http://.../download.php?id=123456), le fichier va être téléchargeable par n'importe qui connaissant l'URL dans le lapse de temps de validité du téléchargement. En gros, avec ce système, tu ne peux pas empêcher plusieurs personnes de télécharger le fichier. Je ne sais pas si je suis clair
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 17h48   #11
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
http://.../tempdir/monfichier.pdf ou http://.../download.php?id=123456) => ça change rien du point de vu sécurité, le fichier sera tjs téléchargeable qq soit la tête du lien.

Ensuite, avec lien symbolique, c vrai que pendant 24h(par exemple), un seul fichier sera téléchargeable N fois mais pas les autres et pas pas non téléchargeable à "vie".

PS :
La personne qui a payé pour avoir le fichier (donc à le lien), rien ne l'empeche de faire des copie de fichier (sauf le copyright).
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 17h57   #12
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Citation:
Envoyé par MANU_2 Voir le message
http://.../tempdir/monfichier.pdf ou http://.../download.php?id=123456) => ça change rien du point de vu sécurité, le fichier sera tjs téléchargeable qq soit la tête du lien.
Sauf si on imagine que id=123456 correspond à un enregistrement en base de données indiquant le fichier à télécharger et que le script download.php, une fois le téléchargement fini, invalide ou supprime cet enregistrement. Mais effectivement, une fois qu'il a récupéré le fichier, rien n'empêche l'utilisateur d'en faire des copies.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 18h17   #13
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Un numero au hasard... pk pas.
Mais comment savoir si le téléchargement est fini (et que le fichier est entirèrement téléchager) ?
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 18h31   #14
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Tout est dans download.php : il récupère l'ID dans l'URL et vérifie qu'il est valide. Il récupère le chemin vers le fichier à télécharger. Il lit le fichier et l'envoie au navigateur avec readfile et quand c'est fini, il invalide l'entrée dans la base de données. Tout se fait à la suite, en fait, rien de compliquer là-dedans :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Verification de l'ID
...

// Calcul du chemin du fichier
$chemin = ...

// Lecture et envoi du fichier au navigateur
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($chemin));
header('Content-Disposition: attachment; filename=' . basename($chemin));
readfile($chemin);

// On desactive l'ID
...
?>
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h59.


 
 
 
 
Partenaires

Hébergement Web