2014-12-04 72 views
7

我想在客戶端打開一個ftp瀏覽器,以便他可以用ftp上傳文件。 我正在使用window.open()方法在子窗口中打開ftp。通過window.open()方法打開的窗口跟蹤用戶活動方法

var windowObjectReference = window.open("ftp://" + username + ":" + password + "@" + server, 
             _blank', toolbar=yes, location=yes, status=yes, 
             scrollbars=auto, copyhistory=no, 
             menubar=yes, width= 500px, height=500px, 
             left=300px), top=100px, resizable=yes'); 

的FTP是這樣的:

[1]:http://i.stack.imgur.com/T6WYg.jpg

現在我想跟蹤像他訪問目錄的用戶活動,併發送路徑jsp頁面如何去做...??

+0

在ftp服務器上這樣做。在你的網絡服務器上做不到這一點。 – simonzack 2014-12-04 07:16:36

+0

那麼,我們如何才能像瀏覽本地計算機一樣從客戶端瀏覽ftp服務器呢? – 2014-12-04 07:18:39

+1

你不能。由於安全原因(相同的原產地政策),追蹤顯示外部網站的窗口內容是不可能的。你所能做的只是爲你的ftp服務器提供你自己的接口,也就是在連接到ftp服務器等的web服務器端做一些代碼 - 這種代理服務器具有很好的接口。 – 2014-12-04 07:49:40

回答

1

出於安全原因,具有不同域的瀏覽器窗口無法看到對方(same origin policy)。最重要的是,ftp協議不支持任何類型的JavaScript,這將允許您跟蹤用戶的行爲。

這使得你有兩個選擇:

  1. 分析FTP服務器的日誌文件,看用戶做了什麼。
  2. 而不是直接重定向到ftp://,編寫一個JSP來訪問FTP服務器上的文件。這樣,你可以跟蹤用戶所做的任何事情。

對於解決方案#2,文件需要位於Web服務器上,或者您需要使用可與FTP服務器通信的Java庫。

注意:瀏覽器中的FTP客戶端可能使用HTML和JavaScript實現,但所有代碼都隱藏在瀏覽器的某個地方。所以即使顯示器是HTML和JavaScript,你也無法訪問它。

+0

那麼我怎麼能實現一個客戶化的界面,以便客戶端只能上傳他們的文件模糊地ftp服務器? – 2014-12-04 08:31:57

+0

您可以改用HTTP上傳。 – 2014-12-04 08:45:16

+0

我應該在jsp頁面中編寫瀏覽ftp目錄的代碼嗎? – 2014-12-04 08:48:36