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