我正在構建一個php文件上傳器,並且我遇到了一些安全問題。例如,我不想允許「.php」文件上傳。據我所知,檢查文件類型的唯一方法是使用$_FILES['file']['type']
,它的值取決於瀏覽器。上傳時檢查文件類型和瀏覽器依賴性問題
我檢查有多種瀏覽器和發現,選擇正規PHP文件時,不同的瀏覽器返回這些值:
firefox: application/x-download
chrome: text/plain
safari: text/plain
IE: text/plain
opera: application/octet-stream
我也試過同樣的實驗與普通.txt文件和所有瀏覽回報作爲mime類型的text/plain
。
所以,這裏的問題,如果我想允許.txt文件上傳我該怎麼做,以防止.php文件上傳?
出於安全原因,您還必須在允許文件上傳到的目錄中禁用php。 (如果你的主機默認解釋.php3文件,並且你沒有注意到,等等)。在.htaccess文件中使用「php_flag engine off」 – 2010-01-11 07:53:23