《DEDEcms 出現(xiàn)“Upload filetype not allow”的原因及解決辦法》要點(diǎn):
本文介紹了DEDEcms 出現(xiàn)“Upload filetype not allow”的原因及解決辦法,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:dedecms教程
導(dǎo)讀:如果有同學(xué)是按某些朋友用刪除代碼的方法解決問題的話,建議你修正此做法,畢竟這是有很大安全風(fēng)險(xiǎn)的.而DEDE本身的安全隱患比較多,任何不...
如果有同學(xué)是按某些朋友用刪除代碼的方法解決問題的話,建議你修正此做法,畢竟這是有很大安全風(fēng)險(xiǎn)的.而DEDE本身的安全隱患比較多,任何不安全的修改和操作都會(huì)斷送掉網(wǎng)站的安全.
[代碼]php代碼:
1 |
$imtypes ?= array ( "image/pjpeg" , "image/jpeg" , "image/gif" , "image/png" , "image/xpng" , "image/wbmp" , "image/bmp" );
|
2 |
? if (in_array( strtolower (trim(${ $_key . '_type' })), $imtypes ))
|
4 |
? $image_dd ?= @ getimagesize ($ $_key );
|
5 |
? if ?(! is_array ( $image_dd ))
|
7 |
? exit ( 'Upload filetype not allow !' );
|
這里的$$_key,指的是上傳文件的臨時(shí)路徑,如“d:/php/temp/aaa.tmp”.我們可以看出,這getimagesize($$_key)這個(gè)方法,是在哀求PHP臨時(shí)目錄的讀取權(quán)限,如果d:/php/temp沒有讀取權(quán)限就會(huì)出現(xiàn)無法讀取的錯(cuò)誤.@getimagesize($$_key);返回的值其實(shí)是False,而這里DEDE程序員簡單的使用了@屏掉錯(cuò)誤提示,并沒有考慮到權(quán)限問題,造成用戶無法了解真正錯(cuò)誤原因是沒有目錄權(quán)限,而不是文件類型不允許.一頓茫然.修改辦法如下:1,在PHP.ini中添加d:/php/temp的讀寫權(quán)限,這一步基本上都不用操作.因?yàn)檫@個(gè)目錄一般都是可讀寫的,不然任何文件都無法上傳;2,部份虛擬主機(jī)用戶,可能添加了php_admin_value open_basedir 指令,在這里,我們要求添加上臨時(shí)目錄的權(quán)限,如:“php_admin_value open_basedir "E:/wwwroot/www.a.com;D:/PHP/temp"”然后重啟WebServer,至此,問題解決.維易PHP培訓(xùn)學(xué)院每天發(fā)布《DEDEcms 出現(xiàn)“Upload filetype not allow”的原因及解決辦法》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/9943.html