2010-05-17 129 views
3

我很感激任何可以提供的主題幫助。在線註冊結束時,我將客戶數據(多個字段),放入CSV文件並嘗試通過SSL協議提交給另一客戶端,但不知道如何完成此操作。我也將這些信息存儲在本地數據庫中,並希望這個過程有點類似。如何通過安全的FTP SSL協議發送文件

我已經發環節,從php.net SSN2

查看SSH2指示,但說實話這就像讀中國給我。我不明白這些說明,也不打算安裝任何擴展,修改PHP.ini文件或其他任何類型的文件(尤其是因爲我們沒有擁有信息通過的服務器)。

有沒有一種簡單,安全的方式將此文件傳輸給我們提供的SSL協議?

謝謝!

+0

那麼,你有興趣使用sftp或FTP-ssl? – WhirlWind 2010-05-17 18:11:52

+0

@WhirlWind - 我們的客戶端設置了以下內容:在FTP服務器上創建安全FTP帳戶並在防火牆上打開端口990以進行SSL連接。我還爲FTP協議創建了一個新的證書請求,並選擇了1028位SSL安全證書。 – JM4 2010-05-17 18:18:35

+0

可能找到FTPS的一些說明,而不是SSH的東西,因爲這聽起來像「客戶」想要的。 – WhirlWind 2010-05-17 18:22:27

回答

2

我已經成功地在使用PHP SSL的FTP做的唯一方法是使用PHP的exec()函數來執行curl命令。 PHP的curl庫不起作用,因爲那時skip-pasv-ip選項不存在,而且這是絕對必需的。例如:

curl --user <username:password> --disable-epsv --ftp-pasv --ftp-skip-pasv-ip --ftp-ssl --sslv2 --cert <path/to/certificate> -T <path/to/uploadfile> <hostname> 

您可能需要修改捲曲選項以適合您的需要。

+0

感謝您的意見。我對Curl並不熟悉,但我會給這個鏡頭,讓你知道它是如何發生的! – JM4 2010-05-17 22:57:39

+0

@ JM4 - 也想指出你可能能夠使用PHP的curl庫。我無法使用它,因爲我無法設置ftp-skip-pasv-ip選項 - 它不適用於我使用的PHP版本。如果你不需要這個選項,並且有可用的捲髮支持,那麼首先要做。 – 2010-05-18 19:11:55

+0

我不知道如何使用上面所述的內聯捲曲。我也引用了(http://curl.haxx.se/docs/manual.html),並且它們與您一樣內聯列出。我看到的所有CURL指令都有多行,並有非常具體的選項。我試圖連接到一個主機IP,用給定的用戶名和密碼,然後轉儲文件在一個特定的目錄。有任何想法嗎? – JM4 2010-05-25 20:45:02

5

也許你可以使用ftp_ssl_connect對於這個問題,它是用來打開一個安全的SSL-FTP連接,上傳文件僅僅是一個簡單的過程,只需創建與服務器的連接,把文件放在那裏。一個基本的例子可能是:

//Create your connection 
$ftp_conn = ftp_ssl_connect($host, $you_can_provide_a_port); 

//Login 
$login_result = ftp_login($ftp_conn, $user, $pass); 

if($login_result) 
{ 
    //Set passive mode 
    ftp_pasv($ftp_conn, true); 
    // Transfer file 
    $transfer_result = ftp_put($ftp_conn, $dest_file_path, $source_file_path, FTP_BINARY); 

    //Verify if transfer was successfully made 
    if($transfer_result) 
    { 
     echo "Success"; 
    } 
    else 
    { 
     echo "An error occured"; 
    } 
} 

爲便於參考http://www.php.net/manual/en/function.ftp-ssl-connect.php

+0

謝謝你的建議。我會給它一個鏡頭,讓你知道結果! – JM4 2010-05-17 22:57:19

+0

這沒有按需要工作。我將客戶端$ host作爲IP地址,60秒後超時。我知道FTPS的工作原理,因爲我能夠連接本地FTP客戶端 – JM4 2010-05-25 20:43:59

+1

如果上述不起作用。而且連接通過桌面FTP程序工作,你可能有這個問題。 http://www.elitehosts.com/blog/php-ftp-passive-ftp-server-behind-nat-nightmare/ – Tim 2011-12-07 05:40:07

相關問題