6
votes

I have a got a file server and a web server. They are running on physically different machines.

I would like to download a file from the FTP server via JavaScript. The reason I have to do it via JavaScript is that I have an external application and I can only inject JavaScript into that application.

Basically, I need to specify ftp address username and password. But I am concerning about security as people can view FTP credentials.

What is the best way to implement such scenario?

Thanks for your help

Regards

4
Injecting JavaScript into another application to force it to download a file via FTP? Sounds kinda atack-y to me. - Justin Niessner
we have a defect management system that allows us to inject javascript code into forms) not attacking anything:) - AnarchistGeek

4 Answers

10
votes

Javascript only speaks HTTP and WebSockets (on newer browsers), and not FTP. In that situation, keeping it all on the client-side, you'd probably have to write a Flash or Java applet that handles the actual FTP protocol, and interface with Javascript to provide interactivity.

Unless you're planning on redirecting the browser to the ftp site, passing in the username and password? Are you concerned about the users getting the FTP information, or are you concerned with man-in-the-middle attacks sniffing the plaintext FTP credentials?

2
votes

JavaScript doesn't support FTP. What you need is a server-side or a more robust client-side language to access the remote server.

1
votes

If by "downloading" you mean "prompt user to save a file from external link" (which basically means open a new window with URL that points to a file) then you can just point user to a script you have control over.

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

And your server-side get_file script will do all the work of connecting to a FTP and fetching a file

0
votes

How about creating an iframe and setting the url to ftp://whatever?