2011-12-10 17 views
4

我正在爲我的銀行給出的數字聲明編寫一個解析器,並且它可以工作,但是如果我想讓其他人將他們的聲明上傳到它,就會說。腳本完成後處理變量數據的最佳方法是什麼?處理變量中的敏感信息並在使用後上傳

我最初使用file($_FILES['uploadedfile']['tmp_name'])來獲取文件的數據。腳本完成後,這個臨時文件被刪除了嗎?或者我需要這個嗎?

對於變量,是unset()夠了,還是必須更進一步?

回答

3

變量存儲在內存中,腳本完成後,內存被釋放並被銷燬,無法恢復。無需在它們上調用unset(),因爲腳本終止時會隱式發生。

腳本完成執行後,應該立即刪除出現在$_FILES陣列中的文件上傳所創建的臨時文件,但如果您想對此進行雙重確認,則可以在其上調用unlink()

只要你不存儲敏感數據在$_SESSION,餅乾,或任何其他明確的持久性,你應該沒問題。

如果您確實需要在服務器上保留一些數據,您可以使用它進行加密,例如Mcrypt

+0

有一個+1,我的快速(呃)類型的朋友;)。 – middus

+1

@middus有一回:D – DaveRandom

+1

+ 1s全面:)偉大的答案,謝謝你們! – DexCurl

2

臨時文件最終會被刪除。但是,AFAIK你不能真正影響這一點。爲了預先刪除,請使用unlink()

關於變量:不需要unset()它們,因爲它們只存儲在RAM中,一旦腳本執行完成後就會被銷燬。