2013-03-12 63 views
0

我目前正在使用Javascript通過xmlhttprequest發送文件的上傳系統,這工作得很好。現在我想將文件信息與關於上傳器的信息一起存儲在數據庫中。 用戶必須登錄才能上傳文件。因此,我將所有登錄的成員存儲在自己的表(id,user_id,session_id,令牌)中。從PHP到Javascript到PHP的會話ID和令牌(xmlHTTPRequest)

現在我的問題是,我不知何故必須確定上傳信息的用戶名。 我目前的解決方案是這樣的:

var fd = new FormData(); 
fd.append("file", document.getElementById('file').files[0]); 
fd.append("user", {{username}}); 
var xhr = new XMLHttpRequest(); 
xhr.open("POST", "/upload/local/handleUpload.php"); 
xhr.send(fd); 

我使用樹枝模板系統來呈現模板文件({{名}}是由PHP腳本發送用戶名)

現在我明白了用戶名可以很容易地改成別的東西。這就是爲什麼我想確保在「logged_in」表中有一個具有此用戶名和用戶名的用戶。

我的第一種方法是隻追加用戶的當前session_id併發送它。

fd.append("session_id", {{session_id}}); 

但這裏是我的問題:這是一個「安全」的方式嗎?或者我該如何處理這個問題? 我很感激我能得到的每一個幫助!

非常感謝!

回答

0

無需發送會話ID,因爲無論如何會發送會話cookie。爲確保用戶存在,handleUpload.php必須根據數據庫表檢查會話。

+0

好的。我並不確定handleUpload.php腳本是否能夠獲取此用戶的當前session_id,因爲它是通過xmlhttprequest調用的。 – puelo 2013-03-12 16:34:15