2012-06-25 35 views

回答

0

我不認爲上傳的文件得到保存「自動地」。您的腳本需要處理請求並保存它們。

0

這些文件將被保存在一個臨時目錄中,您將需要手動保存它們。

require "cgi-lib.pl"; 
$uploadDirectory = "YOUR_DIRECTORY"; 
open (OUTPUT_FILE, ">$upload_dir\/$in{'file'}") || & Die("Could not open file: $!"); 
undef $Buffer; 
while (read($in{'file'},$Buffer,1024)) { 
    print OUTPUT_FILE $Buffer; 
} 
close(OUTPUT_FILE); 

要處理多個上傳你可以確保你給他們不同的名稱(例如,包括user_ID的,或隨機的。):

可以使用PERL,像這樣控制的文件。

+0

kkz ,,,我手動保存它們,但如果有2個或更多的用戶試圖同時上傳他們的文件同名的話讓說hello.html所以這些文件將被保存爲不同或將被覆蓋 – user1478564

+0

再次這是一個手動過程。您可以驗證具有相同名稱的文件,並使用不同的名稱保存,例如Name_1,Name_2等。最佳做法是將文件保存爲隨機加密並將文本存儲在數據庫中,如果您使用暴露於路徑遍歷攻擊的前面提供的名稱(請參閱owasp.com網站以獲取有關webapps安全性的更多詳細信息) 。 – mihaisimi

+0

而我沒有數據庫或MySQL的知識,所以這可能是2名用戶同名文件得到保存differnetly ?? – user1478564

相關問題