首頁 > 後端開發 > php教程 > php文件上傳常見缺陷

php文件上傳常見缺陷

伊谢尔伦
發布: 2016-11-22 10:28:11
原創
1084 人瀏覽過

對 MAX_FILE_SIZE 所設定的值,不能大於 ini 設定中 upload_max_filesize 選項所設定的值。其預設值為 2M 位元組。

如果記憶體限制設定被激活,可能需要將 memory_limit 設定的更大一些,請確認 memory_limit 的設定足夠的大。

如果 max_execution_time 設定的值太小,腳本運行的時間可能會超過該設定。因此,也請確保 max_execution_time 足夠的大。

Note: max_execution_time 只影響腳本本身運作的時間。任何其它花費在腳本運行之外的時間,諸如用函數 system() 對系統的呼叫、 sleep() 函數的使用、資料庫查詢、檔案上傳等,在計算腳本運行的最大時間時都不包括在內。

Warning:max_input_time 以秒為單位設定了腳本接收輸入的最大時間,包括檔案上傳。對於較大或多個文件,或當使用者的網路速度較慢時,可能會超過預設的60 秒。

如果 post_max_size 設定的值太小,則較大的檔案會無法上傳。因此,請確保 post_max_size 的價值足夠的大。

不對正在操作的檔案進行驗證可能意味著使用者能夠存取其它目錄下的敏感資訊。

請注意 CERN httpd 似乎會丟棄它從客戶端獲得的 content-type mime 頭資訊中第一個空格後所有的內容,基於這一點,CERN httpd 不支援文件上傳特性。

鑑於檔案路徑的表示方法有很多種,我們無法確保用使用各種外語的檔案名稱(尤其是包含空格的)能夠被正確的處理。

開發人員不應將普通的輸入欄位和檔案上傳的欄位混用同一個表單變數(例如都用 foo[])。


相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板