在過去,許多HTML/JavaScript做不到的事,在網頁上只能交給Flash或Java Applet解決,但Flash或Applet具有較高本機資源存取權限,容易形成資安漏洞。隨著資安意識抬頭,加上HTML5快要無所不能,Flash與Java Applet的不可取代性下降,兩位老英雄晚景淒涼,Flash將逐步走入歷史,而Chrome及Edge則不再支援Java Applet。即使Java Applet在IE或Firefox仍可使用,也受到嚴格限制。

最近小木頭在瘋魔術方塊,讓我忍不住重溫七年前習得的雜技,回頭查當年的教學網站,已經看不到Java Applet圖解動畫了,即使改用IE瀏覽也不行。

查了資料,得知從 Java 7 Update 51開始,Java不允許使用者執行未經簽署 (未簽署)、自行簽署 (不是由信任授權單位簽署) 或是遺漏權限屬性的應用程式[參考] 。這意味著除非開發者花錢為自己寫的Java Applet加上數位簽章,否則會被瀏覽器禁用。許多Applet屬佛心提供,怎麼可能要求開發者為自己多年前寫的程式買憑證加簽章?

由於Java不允許調降安全規格,將網站加入例外網站是唯一解法,針對特定網站法外開恩,允許未簽署的Applet也能執行。但要提醒:開放執行未簽署元件形同拆掉鐵窗關閉防火牆,若Applet包藏惡意程式(例如:病毒、木馬、後門、加密勒索程式…),此舉形同邀強盗到家裡泡茶,開啟前請三思。為求謹慎,我選擇另外開一台VM,在VM裡啟用Applet,降低被攻擊風險。再次強調,以下做法存在風險,請審慎評估是否要冒險前進。

設定例外網站的方法如下。先找到「設定Java」:

在安全頁籤的例外網站清單加入要啟用未簽署Applet的網站:

記得要重新啟動IE才會生效。

設定後,Java Applet總算回來了…


Comments

# by 心煩之人

您好: 我也是使用例外網站清單,但還是沒法克服?

# by Jeffrey

to 心煩之人,能提供無法使用例外網站清單克服的案例?

Post a comment