我正在考慮將上傳的文檔保存到webroot之外的文件夾中,並使用readfile(file)
以腳本形式提供下載文件。如何確保上傳的文件是MS Word文檔?
不過,我想知道如果下面就足以消除任何形式的威脅,有可能是:
$filename = basename($_FILES['uploaded_file']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
if (($ext == "doc") && ($_FILES["uploaded_file"]["type"] == "application/msword"))
{
execute rest of the code
}
我讀過的人使用finfo_open()
建議,但我的服務器是在PHP 5.3 .0所以我不能使用它。我試過使用mime_content_type()
,但它總是會向我發送任何類型的文件(我不知道我是否做錯了)的「文本/純文本」。
有什麼我可以添加,使這個更安全的過程?
恐怕我無法像你說的那樣做到這一點。我在共享主機上,我有很多選項受限制。 – Filgera 2011-06-15 19:39:53