關於中止使用Apache Struts2開發框架的通知,以後有人求推薦其餘框架,其實在2016年就有園友推薦了替換的方式:java
轉發文章以下:程序員
12 月 10 日,京東數據事件—— 後端
「一個京東的 12G 數據包近期在黑市上流通,其中包括用戶名、密碼、郵箱、QQ 號、電話號碼、身份證等多個維度,數據多達數千萬條。隨後也有京東用戶反映,本身的京東白條近期被盜刷。」 安全
12 月 11 日,京東迴應還有「極個別」系統使用 Struts2 框架,但已通過妥善升級,「暫不會出現安全問題」。 框架
有人說 網站
前人在利用基礎語言進行操做時發現了共性,便將基礎性的內容提取,因而就有了框架。而開源框架指的是,不只給你框架,還將這個框架的搭建方法,以及源碼一併給你。任何人均可以根據須要更改框架,甚至還能夠在此過程當中發現框架的不足與漏洞。 .net
然並卵 blog
許多程序員面臨的問題是,公司要求快速迭代,產品明天要上線,你今天還要寫框架,費時費力,索性就直接藉助開源框架。 事件
那些雷 圖片
Struts 2 官方起初曾就框架可能存在的安全漏洞進行了聲明。開發人員在運用該框架編寫代碼時,須要進行必要的安全處理。
當出現漏洞是,Struts 會提示用戶升級,但若暫時沒法升級,系統會發布最高安全等級爲「重要」或是「極其重要」不等的提示,並會附上相應的解決措施。
全部 Struts2 開發人員必讀,最高安全等級爲「極爲重要」的安全提示。
這就像是已經告訴你,冬天很容易感冒,要多穿點衣服。但如果你仍是少穿衣服,沒有應用這個安全處理措施,那感冒就怪不了別人了。
Struts2 是什麼?
Struts 是基於 Java 語言的一款開源框架,相似基於 PHP 語言的 Yii 和 Laravel。
Struts 是 Apache 基金會的一個開源項目,普遍應用於大型互聯網企業、政府、金融機構等網站建設,並做爲網站開發的底層模板使用。
Struts 2 是 Struts 的下一代產品,是在 Struts 和 WebWork 的技術基礎上進行合併,造成的全新框架。
2013 年 7 月 17 日,Struts2 曾出現高危漏洞。包括國內不少知名網站在內的大量網站,受到此漏洞不一樣程度的影響。攻擊者能夠利用該漏洞執行惡意 java 代碼,最終致使網站數據被竊取、網頁被篡改等嚴重後果,使網站及網民安全受到了極大的威脅。
一些觀點
框架就像是一個櫃子,輪廓已經在那裏了,怎麼隔層,放哪些東西都是由你本身決定。隔層、放置的東西都是小問題,可是若框架出現問題,那影響就是根本性。
Struts 在早期是 Java 後端開發很成熟的解決方案,被大量採用,後來陸續爆發了很多問題和漏洞,可是企業要從新更換總體框架,無論是在技術層面,仍是運營層面,都有很多阻力。
Java 語言的開發效率低於 PHP,可是運行速度優於後者,相對來講更適合項目較大的系統。國內的電商平臺通常都使用 Java 語言, 例如淘寶、京東。
在此,推薦 Struts 2避雷寶典。
感謝 zhhy88 圖譜繪製,47 個 Struts 資源
或者直接訪問 Java SE 官網知識庫