91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

web開發文件上傳功能需要注意什么

發布時間:2021-12-21 09:34:22 來源:億速云 閱讀:178 作者:iii 欄目:安全技術

這篇文章主要介紹“web開發文件上傳功能需要注意什么”,在日常操作中,相信很多人在web開發文件上傳功能需要注意什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”web開發文件上傳功能需要注意什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

 1. 前言

文件上傳在日常開發中十分常見,但是潛在的安全問題非常容易忽視。一旦開發中忽視了這些問題,將會引發系統安全漏洞。

2.  文件上傳開發的安全建議

通常我們上傳的文件是由客戶端控制的,這種情況下就給了不懷好意人可乘之機。一些危險的可執行腳本將有可能被注入服務器中去。因此胖哥總結了以下幾點建議。

文件類型過濾

開發者應該有一個過濾清單允許上傳的文件類型應僅限于業務功能所需的文件類型,在沒有允許列表過濾器的情況下,切勿直接接受文件名及其擴展名,同時前端應該對該清單進行說明。這是一個必要的步驟,大多數開發者也做得很好。

文件名稱處理

不能使用原始文件名!這是一個容易被忽略的問題。很多開發者喜歡直接把上傳文件的按照原始文件名進行轉存。

// Spring boot 開發中不建議使用這個來作為轉存的名稱,你應該生成一個新的名稱來映射此名稱 String originalFilename = MultipartFile.getOriginalFilename();

這樣是不安全的。雖然大部分/\:<>?字符已經被過濾掉,但是. * %  $,這些腳本中的常客依然可以被包含在文件名中,所以不能使用原始文件名,你應該指定一個算法來進行重命名,建議使用一種摘要算法來確定文件名。例如,文件名可以是文件名加上日期的  MD5 哈希。

如果業務需要原始文件名的話存儲新的命名和原始名稱的映射即可。

摘要校驗

服務端無論上傳、修改還是下載文件都需要進行摘要校驗(MD5、SHA256),以防止文件和預設的不一致。客戶端有必要的情況下也建議進行摘要校驗。

限制大小

這一點如果使用 Spring 進行開發的話已經做了限制,如果該限制不滿足業務需要,可以修改,但是不能移除限制,否則會導致拒絕服務攻擊。

訪問限制

如果不是業務需要,只有身份驗證和授權的用戶才能使用文件上傳功能。不然你的系統就成了別人的免費圖床。

行為審計

對于安全我們只能被動防御,因此對文件上傳的操作建議有審計日志、而且審計日志不應該受文件系統影響,這樣發生安全事件時可以快速定位問題。到此,關于“web開發文件上傳功能需要注意什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巫山县| 贵定县| 霍州市| 壶关县| 定兴县| 台山市| 南通市| 饶平县| 中超| 手机| 永登县| 随州市| 五莲县| 封丘县| 汉沽区| 墨玉县| 汤阴县| 南投县| 阳谷县| 耿马| 丽水市| 旅游| 高平市| 灵璧县| 沙坪坝区| 合作市| 石家庄市| 铅山县| 东莞市| 南充市| 霍城县| 酉阳| 贵州省| 宜州市| 新化县| 大邑县| 远安县| 黑龙江省| 徐汇区| 长阳| 始兴县|