2011-04-06 132 views
-1

我的朋友給了我一個腳本來在我的網站上運行我的世界皮膚,但我一直得到這個錯誤,我沒有任何線索如何去做這件事... =( http://allcitybuilder.com/new/example.htmljava applet java.security.AccessControlException:拒絕訪問java.net.SocketPermission

java.security.AccessControlException: access denied (java.net.SocketPermission www.minecraft.net:80 connect,resolve) 
    at java.security.AccessControlContext.checkPermission(Unknown Source) 
    at java.security.AccessController.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkConnect(Unknown Source) 
    at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source) 
    at sun.net.www.http.HttpClient.openServer(Unknown Source) 
    at sun.net.www.http.HttpClient.<init>(Unknown Source) 
    at sun.net.www.http.HttpClient.New(Unknown Source) 
    at sun.net.www.http.HttpClient.New(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) 
    at net.minecraft.skintest.math.Zombie$1.run(Zombie.java:82) 

回答

0

通常小程序只有所有欠他們的主機訪問他們來自(在你的情況allcitybuilder.com)。因此,您必須將該文件也查看該主機(或在該主機上安裝代理),否則您的小程序需要額外的權限才能擁有更多權限。

要使小程序具有更多訪問權限,需要對其進行數字簽名,並且用戶需要確認小程序加載。

但是沒有辦法說「我只需要訪問minecraft.net」,並且用戶僅授予您此權限(無需手動編輯策略文件),因此它是「全部或全部」。此外,如果用戶拒絕,小程序可以運行通常的小程序權限(在Sun的插件上),也可以根本不運行(在IcedTea上運行)。

使用JNLP,您可以針對個別操作獲得用戶確認,但這僅適用於本地訪問,不適用於遠程訪問。

0

可能最簡單的事情就是將資源複製到您的網站,確保您已獲得版權所有者的適當權利。

或者,該網站可能會添加一個crossdomain.xml文件以允許訪問從非同源網站加載的代碼。

可能簽署代碼以獲得對本地計算機的完全訪問權限。但是,這要求用戶承擔風險,編寫安全代碼出奇的困難。

相關問題