php上傳檔案類型判斷

來源:互聯網
上載者:User

1.先講下php檔案上傳該注意哪些安全問題吧

          檔案類型mime和尾碼名判斷 (可能會被使用者惡意修改)

          檔案一定要重新命名

          檔案存放目錄不應用可執行許可權

          檔案大小的控制.

2.說說這個檔案類型的判斷

    根據尾碼名判斷:大家都知道,不是很準確,可能會被使用者惡意修改

    比較有效方法就是判斷檔案的二進位流的前幾個位元組的資料

    相應檔案對應的位元據,大家可以在這兒網址下去查

   http://www.filesignatures.net/index.php?page=all&currentpage=4&order=EXT

   判斷方法:

$fp = fopen($filename, 'rb');

         $buffer = fread($fp,8); //讀取幾個位元組應該參照上面的網站上查詢的結果為準

         fclose($fp);

         $buffer = unpack('H*', $buffer);  //轉換為16進位

         $buffer = unpack('C8code',$buffer)//也可以轉換為10進位

         然後用$buffer 與網址上的資料進行對比即可.

        自己實現下哈,實踐出真知.

        有時候對於圖片可能會造假,上述方法可能查不出來,使用以下方法吧

         function_exists('getimagesize') && !@getimagesize($filename)

    目前所知的比較好的方法了,大家如果還有其他的方式,歡迎分享



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.