通過OWASP Top 10來回答
2013版至2017版,應(yīng)用程序的基礎(chǔ)技術(shù)和結(jié)構(gòu)發(fā)生了重大變化:
1. 使用node.js和Spring Boot構(gòu)建的微服務(wù)正在取代傳統(tǒng)的單任務(wù)應(yīng)用,微服務(wù)本身具有自己的安全挑戰(zhàn),包括微服務(wù)間互信、容器工具、保密管理等等。原來沒人期望代碼要實現(xiàn)基于互聯(lián)網(wǎng)的房屋,而現(xiàn)在這些代碼就在API或RESTful服務(wù)的后面,提供給移動應(yīng)用或單頁應(yīng)用(SPA)的大量使用。代碼構(gòu)建時的假設(shè),如受信任的調(diào)用等等,再也不存在了。
2. 使用JavaScript框架(如:Angular和React)編寫的單頁應(yīng)用程序,允許創(chuàng)建高度模塊化的前端用戶體驗;原來交付服務(wù)器端處理的功能現(xiàn)在變?yōu)橛煽蛻舳颂幚恚矌砹税踩魬?zhàn)。
3. JavaScript成為網(wǎng)頁上最基本的語言。Node.js運行在服務(wù)器端,采用現(xiàn)代網(wǎng)頁框架的Bootstrap、Electron、Angular和React則運行在客戶端。