Forcer téléchargement FTP à partir d'un site hébergé sur Free
Strider75
Messages postés8Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 9 novembre 2005
-
8 nov. 2005 à 12:34
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
9 nov. 2005 à 15:21
Bonjour!
Voilà je m'explique, j'héberge mon site chez Free et j'ai un deuxième hébergement sur un autre serveur ou je stocke mes fichiers (serveur limité à 100Go de bande passante en direct download mais illimité via téléchargement FTP).
Lorsque j'emploi la méthode readfile() à partir du serveur Free par exemple: readfile("ftp://...."), et bien ça ne passe pas car Free bloque à mon avis ce qui est "ftp", y aurait-il donc un moyen de contourner ceci?
Merci pour vos réponses.
A voir également:
"Url de la page, sur votre site, où est affiché le lien vers"
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 8 nov. 2005 à 12:46
Salut,
A mon avis, ce n'est pas free qui bloque mais ton serveur distant qui interdit l'ouverture/lecture des fichiers pour les utilisateurs anonymes.
En plus readfile ne me semble pas la bonne méthode pour ce que tu veux fair. MAIS QU'EST CE QUE TU VEUX FAIRE ? (Je suppose proposer le téléchargement de tes fichiers).
La "bonne" méthode, selon moi, serait de faire une redirection vers ton
fichier. (ou inclure un lien vers ce fichier, y as-tu pensé? [ftp;//.../fichier.xyz teléchargez moi])
Comment faire ? Grâce aux entète HTTP...
Je te renvoi vers cette petite page bien sympathique.
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 8 nov. 2005 à 13:14
Tu veux (?)
1. l'utilisateur demande le télchargement
2. le fichier à télécharger est copié sur ton site (readfile, c'est ça)
3. A partir de cette position, il est envoyé à l'utilisateur
Sinon, tu peux jouer avec une socket, mais dans tous les cas, faire
transiter le fichier par ton hébergeur free est une perte de temps
monstrueuse (ainsi qu'un beau gaspillage de bande passante)
Pourquoi ne veut tu pas proposer le téléchargement directement depuis ton autre site (Machine perso ?) ?
Strider75
Messages postés8Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 9 novembre 2005 8 nov. 2005 à 13:25
Je récapiture:
-L'utilisateur demande le téléchargement du fichier exemple en cliquant sur un lien menant au fichier "download.php" (fichier "download.php" sur le serveur free bien entendu)
-Le fichier demandé (qui se trouve dans le code du fichier "download.php") est stocké sur un autre serveur qui est limité à 100Go en direct download mais illimité en download FTP (j'espère que c'est assez clair...c'est pour le manque de bande passante via direct download que je veux utiliser la méthode FTP)
-Tout cela afin d'éviter les vols de liens (je vais ajouter un code afin que le fichier ne soit lancé uniquement qu'à partir de mon site).
Voilà!
Vous n’avez pas trouvé la réponse que vous recherchez ?
psychosic
Messages postés46Date d'inscriptionlundi 24 janvier 2005StatutMembreDernière intervention11 novembre 2005 8 nov. 2005 à 13:35
Essaye de mettre ton fichier PHP qui lis les données sur le serveur de
stockage. Ensuite dans ce fichiers, il faut que tu simule un post avec
des champs hidden; avec javascript tu post ton formulaire sur une page
sur ton serveur normale qui va lire le contenu du fichier qui est
stocker dans ta variable post tu mets les entêtes qui vont bien et le
tour est joué.
C'est pour éviter de mettre ton FTP en mode anonyme. Comme ca le php qui ouvre les fichiers sont sur le serveur.
Autre solution mais plus complexe:
Si tu n'as pas la liste de tes fichiers à télécharger:
Tu liste le répertoire en PHP en filtrant les fichiers dont l'extension commence par php, html enfin tous ca normale.
Aprés tu peux proposer une liste de lien de fichiers grace a ce que tu recupère du précédant listage.
Pour le téléchargement: le fichier de téléchargement, cette fois ci tu
le laisse sur ton serveur normale. Tu utilise les methodes et propriété
qui vont bien en PHP pour te loguer en FTP (user mot de passe), la tu
ouvre le fichier du lien tu mets les entêtes qui vont bien, tu fais
echo taVaribleQuiContientLeContenuDuFichier et la c'est bon.
Strider75
Messages postés8Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 9 novembre 2005 8 nov. 2005 à 13:45
Merci Anthomicro mais je le savais déjà ^^.
Assez complexe ta méthode psychosic...j'ai réussi à faire ce que je voulais sans utiliser de "readfile()" mais un petit bug par contre sous Firefox lorsqu'on fait un clic droit -> "enregistrer la cible du lien sous..." il me met "download.php" au lieu de me proposer le nom du vrai fichier (par contre il me télécharge bien le bon fichier) mais impossible d'afficher le vrai nom du fichier dans la boite de dialogue "Enregistrer sous..." par contre sous IE ça fonctionne...Z'avez pas une soluce?
psychosic
Messages postés46Date d'inscriptionlundi 24 janvier 2005StatutMembreDernière intervention11 novembre 2005 9 nov. 2005 à 00:23
tout est dans ton header, le force-download ne va pas bien mets
octet/stream ou si ca ne marche pas ya des codes trés complet sur
GOOGLE tu recherche "force download firefox"
Strider75
Messages postés8Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 9 novembre 2005 9 nov. 2005 à 12:25
Salut,
En fait je travail sur un fichier avi, donc j'ai remplacer par:
header("Content-Type: video/msvideo");
Mais rien n'a changé en fait, impossible de changer le nom du fichier que ce soit sur Internet Explorer ou Firefox...apparemment la ligne header("Content-Disposition: attachment; filename=$filename") ne passe pas...concernant google je cherche toujours dessus mais je n'y trouve toujours pas mon bonheur...
C'est rigolo comme méthode, parce que moi, j'ai une super extension sur mon petit renard de feu ( =firefox) qui lit les entêtes. Tu imagines donc le sourire que j'ai aux lèvres (:]) quand je vois que grâce à ton script je pourrais récupérer tes login et mot de passe.
Maintenant, à toi de deviner si je suis bienveillant ou non >:p
Strider75
Messages postés8Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 9 novembre 2005 9 nov. 2005 à 12:57
lol monoceros01, de toute façon en ce moment j'utilise une simple lien ftp vers le fichier concerné qui contient donc le nom d'utilisateur et le mot de passe mais impossible a changé de toute manière il n'y a que moi qui peut car je suis le propriétaire.
La méthode readfile() vers un ftp n'a pas l'air de fonctionner chez free...sinon je serai passer par là...
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006 9 nov. 2005 à 13:14
Euh certe Strider, mais si tu fournis ce lien à tes visiteurs, il
verront forcément ton login et ton mot de passe, donc ils pourront
ramener leur fraise sur ton ftp (avec filezilla par exemple) et
s'amuser (oui oui c'est très drôle) à ajouter des fichiers (bon ça
c'est pas trop grave), à en modifier (ça c'est plus chiant) et à en
supprimer (et oui, c'est con!).
A moins, que tu aies la possibilité de configurer un autre utilisateur
(login et mot de passe) avec juste les droits en lecture...
massacr
Messages postés233Date d'inscriptionvendredi 2 juillet 2004StatutMembreDernière intervention 4 janvier 2007 9 nov. 2005 à 15:15
De toute facons, si l'internaute dowload un fichier, c'est que
l'adresse est forcément passée au client (à moins de les transférer sur
le serveur du site, et de les renvoyer à l'internaute, mais c'est
lourd).