檔案上傳功能看似單純,卻常是企業網站容易忽略的風險來源。求職表單收履歷、客服表單收截圖、會員功能收證明文件,或編輯在後台上傳圖片與文件,都可能讓不適合的檔案進入系統。真正的防護不只是限制副檔名,而是從需求、技術設定與人員流程一起管理。
先確認是否真的需要收檔案
每增加一個上傳欄位,就增加一份需要保存、檢視與保護的資料。請先問:這份檔案是否能在聯絡後以較安全的管道取得?是否能改成讓使用者填寫必要資訊,再由專人邀請上傳?如果檔案不是完成服務所必需,就不應因為「可能有用」而長期收集。
確定必要後,也要清楚說明可接受的檔案用途、格式與大小,避免使用者上傳無關的個人資料。表單蒐集到的資料應有明確處理責任人與保存原則,不能變成無人管理的附件庫。
不要只相信檔名與副檔名
使用者看到的副檔名可以被修改,因此系統端應檢查檔案實際類型,而非只依賴前端欄位限制。可接受的格式應採白名單思維:只允許業務確實需要的少數類型,不要以「禁止某些危險格式」作為主要策略。
同時應設定檔案大小、數量與上傳頻率限制,減少資源被濫用的可能。圖片上傳可考慮由系統重新處理並產生安全的衍生檔,而不是直接以原始檔公開提供。文件若需要開放下載,也應確認它們不會被當成可執行內容處理。
將上傳檔案與網站程式分開存放
上傳目錄不應允許執行程式碼,並應避免讓使用者自訂的檔名直接成為公開網址的一部分。由系統產生不具意義的檔名、保留原始名稱於受控資料庫欄位,通常更容易避免覆寫、猜測網址與特殊字元造成的問題。
若檔案含有履歷、身分證明或合約等敏感資訊,更不應使用任何人知道網址就能下載的公開連結。應採取身分驗證、權限控管與有期限的存取方式,並讓相關人員只看得到工作所需的資料。存放服務、網站主機與內部系統之間的權限也要分開檢視。
將惡意檔案掃描納入流程
依網站技術與資料敏感度,評估使用惡意檔案掃描或隔離機制。即使有自動掃描,也不代表人員可以直接開啟每一份附件。負責處理表單的人應知道可疑檔案的基本徵兆,例如不符合預期格式、檔名異常、寄件內容與申請目的不一致等,並有通報與隔離步驟。
後台媒體庫也要納入管理。刪除不再使用的舊檔、限制可上傳的人員、定期檢查外掛或模組的更新狀態,都是降低風險的基本工作。尤其是多人共用後台時,不能因為操作方便而讓所有帳號擁有相同上傳與刪除權限。
規劃保存與刪除,避免附件無限累積
附件常被上傳後就一直留在伺服器,但保存越久,管理成本與暴露面越大。應針對不同用途設定檢視與刪除週期;完成招聘、案件評估或客服處理後,確認哪些資料仍有必要保存,再依內部規則處理。刪除流程也要包含備份中的處理考量,避免前台刪除了,卻不知道資料仍會在何處留存。
可立即執行的行動建議:
- 列出網站所有可上傳檔案的位置、用途與負責人。
- 關閉非必要的上傳欄位,並為必要欄位設定格式與大小白名單。
- 請技術人員確認上傳目錄不能執行程式,敏感檔案不會公開裸露。
- 為附件建立可疑檔案通報與定期刪除的處理流程。


