如何判斷上傳檔案是否圖片或是否安全

來源:互聯網
上載者:User
怎麼判斷上傳檔案是否圖片或是否安全
怎麼判斷上傳檔案是否圖片或是否安全
------解決方案--------------------
一般是通過檔案名稱的原始尾碼來進行檔案上傳時候的判別,然後儲存後也是對應的類型,至於安全的話只要不是可執行檔基本都算安全,不知道你想問的是啥安全。
------解決方案--------------------
$_FILES["file"]["type"] -- 可以判斷上傳檔案的類型。

至於安全,看你的標準是什麼了。
------解決方案--------------------
不可相信任何傳入的東西,否則你就要吞食輕信的苦果了
你看看我這張圖片怎麼樣?
$im = imagecreate(1,1);
$color = imagecolorallocate($im, 255, 0, 0);
imagegif($im, '1.gif');
$s =<<< TXT
phpinfo();
?>
TXT;
file_put_contents('1.gif', $s, FILE_APPEND);
print_r(getimagesize('1.gif'));
echo '';
include '1.gif';

------解決方案--------------------
使用mime_content_type 檢查一下類型
http://php.net/manual/zh/function.mime-content-type.php

我一般會用imagemagick轉一次為圖片的。
------解決方案--------------------
引用:
不可相信任何傳入的東西,否則你就要吞食輕信的苦果了
你看看我這張圖片怎麼樣?
$im = imagecreate(1,1);
$color = imagecolorallocate($im, 255, 0, 0);
imagegif($im, '1.gif');
$s =<<< TXT
phpinfo();
?>
TXT;
file_put_contents('1.gif', $s, FILE_APPEND);
print_r(getimagesize('1.gif'));
echo '';
include '1.gif';


我測試了你的代碼,phpinfo()執行了,但是誰會去include一張圖片呢?
這樣的圖片永遠不會被執行吧?
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.