在一個項目中,接到用戶反饋說其所有客戶不能上傳文件,都返回失敗。經(jīng)過排查發(fā)現(xiàn)是PHP中的is_uploaded_file函數(shù)在搗鬼。

細節(jié)分析:

在正常情況下,通過PHP 上傳文件 ,需要通過is_uploaded_file函數(shù)來判斷文件是 " /> 欧美精品亚洲,老司机午夜免费福利,欧美xxx在线

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

is_uploaded_file函數(shù)引發(fā)的不能上傳文件問題

起因:

在一個項目中,接到用戶反饋說其所有客戶不能上傳文件,都返回失敗。經(jīng)過排查發(fā)現(xiàn)是php中的is_uploaded_file函數(shù)在搗鬼。

細節(jié)分析:

在正常情況下,通過php 上傳文件 ,需要通過is_uploaded_file函數(shù)來判斷文件是否是通過 HTTP POST 上傳的,這可以用來確保惡意的用戶無法欺騙腳本去訪問本不能訪問的文件,例如 /etc/passwd。
而本次遇到的問題是本來應該是C:/WINDOWS/Temp/php99.tmp這樣的tmp_name,卻變成了C://WINDOWS //Temp//php99.tmp這種,導致is_uploaded_file函數(shù)返回錯誤的信息。

處理方式:

在加上如下代碼后,問題解決。
$file['tmp_name'] = str_replace('////', ‘//', $file['tmp_name']);
注意,“////”實際字符串就是兩個/,其他兩個是用來表示轉(zhuǎn)義的。

深入研究:

為什么在默寫特定的環(huán)境下會出現(xiàn)這種情況呢,我們來看如下分析:
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On
php的默認配置中magic_quotes_gpc是On的,而打開了magic_quotes_gpc參數(shù)的php環(huán)境會自動對GET/POST /Cookie添加addslashes效果。注意,并不會為$_FILES添加addslashes效果。
而當magic_quotes_gpc是Off的時候,由于為$_FILES數(shù)組添加了addslashes作用,反而出現(xiàn)了問題。也就在 magic_quotes_gpc是Off的php環(huán)境下都會出現(xiàn)此問題。

順帶說句,SVN上的Moophp代碼已經(jīng)修復此問題。

is_uploaded_file函數(shù)解析:

判斷文件是否是通過 HTTP POST 上傳的
bool is_uploaded_file ( string $filename )
如果 filename 所給出的文件是通過 HTTP POST 上傳的則返回 TRUE。這可以用來確保惡意的用戶無法欺騙腳本去訪問本不能訪問的文件,例如 /etc/passwd。 這種檢查顯得格外重要,如果上傳的文件有可能會造成對用戶或本系統(tǒng)的其他用戶顯示其內(nèi)容的話。

為了能使 is_uploaded_file() 函數(shù)正常工作,必段指定類似于 $_FILES['userfile']['tmp_name'] 的變量,而在從客戶端上傳的文件名 $_FILES['userfile']['name'] 不能正常運作。

php技術(shù)is_uploaded_file函數(shù)引發(fā)的不能上傳文件問題,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 91在线一区二区三区 | 欧美亚洲综合另类成人 | 精品久久亚洲一级α | 一级做性色a爰片久久毛片免费 | 亚洲一区二区综合 | 福利在线国产 | 伊人久久综合谁合综合久久 | 99久久精品免费看国产一区二区 | 碰91精品国产91久久婷婷 | 成人免费看www网址入口 | 奇米第四狠狠777高清秒播 | 久久伊人婷婷 | 国产在线观看精品一区二区三区91 | 欧洲精品码一区二区三区免费看 | 亚洲久草| 成人一区专区在线观看 | 夜夜影院未满十八勿进 | 69国产成人综合久久精 | 香蕉成人影院 | 久久免费精品一区二区 | 一区二区高清视频 | 一区二区三区在线 | 国产精品美女久久久久网 | 亚洲精品国自产拍影院 | 天天躁天天碰天天看 | 四虎国产精品永久地址99 | 97在线视频精品 | 国内小情侣一二三区在线视频 | baoyu113成人免费视频网页 | 色婷婷在线观看视频 | 午夜欧美性欧美 | 五月婷婷丁香综合 | 亚洲一在线 | 99超级碰碰成人香蕉网 | 亚洲第三区 | 免费观看成人欧美1314www | 无遮挡毛片a级武则天 | 香蕉免费看一区二区三区 | 国产高清精品一区 | 亚洲三级色 | 五婷婷 |