我們知道,網頁中的 Java Applet 雖不像圖片文件可直接透過瀏覽器「另存為」獲取,但仍可能被瀏覽者從快取中找出並放入自己的網頁。若要保護自己的 Applet 免遭「竊取」,一個有效方法是限制 Applet 僅能在指定 URL 的網頁中運行。在 Java 中,可透過 java.applet 套件提供的 getDocumentBase() 方法取得 Applet 所在網頁的 URL。
例如,下列程式碼在 Applet 初始化階段檢測當前 URL,一旦與設定不符,便在 Java 控制台輸出警告訊息並自動終止運行,從而實現 Applet 的「版權保護」:
import java.net.*;
import java.applet.*;
public class myonly extends Applet {
public void init() {
String owner = getDocumentBase().getHost();
if (!owner.equals("www.mydomain.com")) {
System.out.println("Warning ! A stolen Applet.");
System.exit(1);
} else {
// 正常初始化邏輯
}
}
}
此技巧利用主機名比對,若 Applet 被複製到其他域名下,便會因檢測失敗而拒絕運行,達到基本的防盜用目的。