6
votes

Télécharger le fichier de FTP via JavaScript

J'ai un serveur de fichiers et un serveur Web. Ils fonctionnent sur des machines physiquement différentes.

Je voudrais télécharger un fichier à partir du serveur FTP via JavaScript. La raison pour laquelle je dois le faire via JavaScript est que j'ai une application externe et je ne peux que injecter JavaScript dans cette application.

Fondamentalement, j'ai besoin de spécifier le nom d'utilisateur et le mot de passe d'adresse FTP. Mais je suis sur la sécurité car les gens peuvent voir les informations d'identification FTP.

Quel est le meilleur moyen de mettre en œuvre un tel scénario?

Merci pour votre aide

considère


2 commentaires

Injecter JavaScript dans une autre application pour le forcer à télécharger un fichier via FTP? Cela ressemble un peu à ACtak-y pour moi.


Nous avons un système de gestion des défauts qui nous permettent d'injecter du code JavaScript dans des formulaires) ne rien attaquant :)


4 Réponses :


12
votes

JavaScript ne parle que http et WebSockets (sur les nouveaux navigateurs) et non FTP. Dans cette situation, il vous suffirais d'écrire un applet Flash ou Java qui gère le protocole FTP réel et interface avec JavaScript pour fournir une interactivité.

Sauf si vous envisagez de rediriger le navigateur sur le site FTP, en passant dans le nom d'utilisateur et le mot de passe? Êtes-vous préoccupés par les utilisateurs obtenant les informations FTP ou êtes-vous concerné par les attaques man-in-the-intermédiaires reniflant les informations d'identification FTP en plainte?


2 commentaires

Je peux utiliser le script de site de serveur et rediriger l'utilisateur sur le site FTP. Si je spécifie des informations d'identification FTP, je suis concernant les utilisateurs d'obtenir des informations d'identification et des attaques. Je pense que la seule façon sécurisée d'utiliser le script du serveur.


Il est. C'est le seul moyen de vous assurer que vos informations d'identification ne sont pas claires pour que tout le monde puisse voir.



2
votes

JavaScript ne prend pas en charge FTP. Ce dont vous avez besoin est un côté serveur ou un langage côté client plus robuste pour accéder au serveur distant.


0 commentaires

1
votes

si par "Téléchargement" Vous voulez dire "utilisateur invite à enregistrer un fichier à partir de lien externe" (qui signifie fondamentalement ouvrir une nouvelle fenêtre avec URL qui pointe vers un fichier), vous pouvez simplement signaler l'utilisateur à un script que vous avez contrôlé .

window.open('http://myserver/get_file/filename');


1 commentaires

Vous avez raison; J'aimerais que l'utilisateur clique sur un lien et enregistre le fichier sur local. Il n'y a pas de moyen de le faire sans côté serveur? Je peux utiliser ASP.NET comme script de côté serveur, mais certains fichiers sont énormes (plus gros puis 1 Go) ... où je vais définir pour montrer une boîte de dialogue de fichier alors? sur le côté serveur?



0
votes

Que diriez-vous de créer un iframe et de définir l'URL sur FTP: // Quel que soit ?


0 commentaires