在中期未來查看偶爾出現的 Java 小程序有哪些最佳實踐方法?
我剛剛在一個隨機網站上遇到了一個 Java 小程序,我想啟動它。
鑑於 Chrome 自古以來就與外掛不兼容,我去 irc.mozilla.org 上詢問最好的舊 Firefox 版本可能是什麼,因為我知道最新版本已經刪除了 NPAPI 外掛支持,就像 Chrome 在 2015 年所做的那樣.
在 IRC 中,我立即被告知去嘗試 Java Web Start,後來我發現它支持Oracle 自己的建議。(直到從 Java 9 開始,applet 已被棄用。)
事情是這樣的。自 Java 7u21 起,Java Web Start 就要求對小程序進行簽名;曾經隱藏在設置中的“提示執行未簽名的小程序”選項早已不復存在。
因此,使用 Java Web Start 意味著安裝較舊的 Java 副本。哎喲。
但是…如果我必須降級,我還不如安裝一個舊的 Web 瀏覽器(與我現有的瀏覽器一起),並從無縫的小程序啟動中受益!(當然,我認識到將舊版 Web 瀏覽器用於其他任何事情的風險。)
那麼:為了執行隨機小程序,推薦的 Web 瀏覽器/Java 版本組合是什麼?
我應該使用 Firefox 51 嗎?我應該使用其中一個 Firefox 分支嗎?我應該從 Launchpad 中釣出 Chromium 44嗎?(我不在 Ubuntu 上,但從未遇到過啟動板包的共享對象問題。)我什至應該去使用 Opera 12 嗎?(我必須使用虛擬機嗎?我沒有任何設置,此時也沒有真正的 RAM。)
同樣,我認識到使用舊版瀏覽器的安全風險。我的論點是,如果降級是我唯一的選擇,那麼讓舊版瀏覽器也與我的主瀏覽器一起執行並沒有那麼糟糕,然後我不必擺弄 .jnlp 文件,我可以直接進入包含小程序的頁面的 URL。當然,這也解決了 Java/JavaScript 互操作的問題(如果出現的話)。
我在 serverfault 而不是超級使用者上問這個問題,因為我希望這個問題與在需要注意安全最佳實踐的業務環境中執行良好的答案相關聯。
在我的情況下,我只希望我遇到的舊網頁上的小程序能夠毫不費力地工作。(促使我提出這個問題的小程序不在作為遺留系統一部分的 Intranet 上。)
我可以忍受對 JWS 大驚小怪,但啟動一個舊瀏覽器來完成這項任務要好得多。
最佳做法是正確簽署您的應用程序。
任何其他方法都會使您的應用程序對許多攻擊不安全,因此不適合專業用途。