PHP特點(diǎn)之文件上傳3——常見缺陷
對(duì)?MAX_FILE_SIZE?設(shè)置的值,不能大于 ini 設(shè)置中?upload_max_filesize?選項(xiàng)設(shè)置的值。其默認(rèn)值為 2M 字節(jié)。
如果內(nèi)存限制設(shè)置被激活,可能需要將?memory_limit?設(shè)置的更大些,請(qǐng)確認(rèn)?memory_limit?的設(shè)置足夠的大。
如果?max_execution_time?設(shè)置的值太小,腳本運(yùn)行的時(shí)間可能會(huì)超過該設(shè)置。因此,也請(qǐng)保證?max_execution_time?足夠的大。
Note:?max_execution_time?僅僅只影響腳本本身運(yùn)行的時(shí)間。任何其它花費(fèi)在腳本運(yùn)行之外的時(shí)間,諸如用函數(shù)?system()?對(duì)系統(tǒng)的調(diào)用、?sleep()?函數(shù)的使用、數(shù)據(jù)庫查詢、文件上傳等,在計(jì)算腳本運(yùn)行的最大時(shí)間時(shí)都不包括在內(nèi)。
Warning:max_input_time?以秒為單位設(shè)定了腳本接收輸入的最大時(shí)間,包括文件上傳。對(duì)于較大或多個(gè)文件,或者用戶的網(wǎng)速較慢時(shí),可能會(huì)超過默認(rèn)的60 秒。如果?post_max_size?設(shè)置的值太小,則較大的文件會(huì)無法被上傳。因此,請(qǐng)保證?post_max_size?的值足夠的大。
不對(duì)正在操作的文件進(jìn)行驗(yàn)證可能意味著用戶能夠訪問其它目錄下的敏感信息。
請(qǐng)注意?CERN httpd?似乎會(huì)丟棄它從客戶端獲得的 content-type mime 頭信息中第一個(gè)空格后所有的內(nèi)容,基于這一點(diǎn),CERN httpd?不支持文件上傳特性。
鑒于文件路徑的表示方法有很多種,我們無法確保用使用各種外語的文件名(尤其是包含空格的)能夠被正確的處理。
開發(fā)人員不應(yīng)將普通的輸入字段和文件上傳的字段混用同一個(gè)表單變量(例如都用?foo[])。
相關(guān)文章:
1. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)2. XHTML 1.0:標(biāo)記新的開端3. HTML5 Canvas繪制圖形從入門到精通4. XML解析錯(cuò)誤:未組織好 的解決辦法5. ASP基礎(chǔ)知識(shí)VBScript基本元素講解6. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼7. 詳解CSS偽元素的妙用單標(biāo)簽之美8. 利用CSS3新特性創(chuàng)建透明邊框三角9. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁的方法10. XML入門的常見問題(四)
