首頁 > 後端開發 > php教程 > 如何在 PHP 中安全地驗證上傳的映像檔類型?

如何在 PHP 中安全地驗證上傳的映像檔類型?

DDD
發布: 2024-11-30 19:05:12
原創
409 人瀏覽過

How Can I Securely Verify Uploaded Image File Types in PHP?

在 PHP 中偵錯檔案類型驗證

儘管使用常見方法來驗證影像檔案類型,但有些使用者在上傳過程中遇到了錯誤。

提供的程式碼片段利用了使用者提供的 $_FILES['fupload']['type'] 屬性,該屬性很容易被惡意使用者。為了解決此漏洞,建議使用 mime_content_type() 來提高準確性。

解決問題

但是,建議的解決方案是避免完全依賴使用者定義的值。相反,建議您進行自己的類型驗證。

對於圖像,exif_imagetype() 函數提供了一種可靠的方法來確定文件的真實格式:

$allowedTypes = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF);
$detectedType = exif_imagetype($_FILES['fupload']['tmp_name']);
$error = !in_array($detectedType, $allowedTypes);
登入後複製

此方法檢查直接對圖像的二進制簽名進行簽名,消除了使用者操縱文件類型的可能性。

或者,對於更高級的文件類型驗證,請考慮使用如果您的伺服器支持,則 finfo 可以運行。

以上是如何在 PHP 中安全地驗證上傳的映像檔類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板