發文作者:wekon | 四月 9, 2009

Chinese Domain Name + Applet

e69caae591bde5908d-1

最近遇到了一個相當令人吐血的問題
讓我幾乎快想破頭,搞了好幾天
今天才勉強算是搞定

某一支後台管理的程式出現問題
在某些 browser 上可以使用,大部分 browser 卻不行
網頁顯示錯誤如下

訊息: 物件不支援此屬性或方法
行: 266
字元: 4
程式碼: 0

jre 顯示錯誤如下

java.lang.ClassFormatError: Incompatible magic value 1013478509 in class file RSProxy
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
例外:java.lang.ClassFormatError: Incompatible magic value 1013478509 in class file RSProxy

這種問題有些 browser 會出現,有些 browser 卻不會
第一個直覺反應就是 client-side 的設定要調整
於是調阿調阿
把安全性調到最低了,防火牆關了,jre 也開了
所有幾乎能開的都開了
不管怎麼調都不理我
結果還是一樣的錯誤

很神奇的是
同樣的網站程式原本就有拿來架了好幾個站
這只是其中之一
當我連到其他網站時就可以,連到這個網站就不行
特別的是,出問題的網站是使用中文域名

這樣看起來又像是因為 server side 的問題
只好來看看他的 code
從他的錯誤來看,似乎是一個 applet class 出了問題
首先懷疑該不會是因為中文網域導致該檔案無法下載

但是嘗試過直接下載跟觀察封包交換之後又覺得
要下載此檔案看起來應該是沒問題的
而且錯誤訊息是 “物件不支援此屬性"
而不是 “此物件為 null"
所以看起來也不是這個原因
但是在 jre 的控制面版中一直找不到這個檔案
讓我始終不敢確定到底有沒有下載成功

一直到這裡就卡住相當之久
到剛剛才想通

舉例來說,中文網域名稱為 http://www.網域.tw
加入 applet 的標籤為
<APPLET name=Applet codebase=../ code=RSProxy.class height=0 width=0></APPLET>
如果將 codebase 改為其他英文網域的網站的位置
在載入的時候就不會有這個錯誤
但是會出現另一個錯誤
目前猜測是因為跨網域的緣故

分析到這裡,猜想問題是出在 jre 上
看起來應該是從中文網域下載下來的 applet class 他會認不得
所以可以產生一個物件,但是不能使用裡面的 methods
就算是我下載了最新的 jre 6 也是不行

中文網域不能用,又不能去其他人那邊下載
到底該怎麼辦呢
剛剛終於想到了一個替代方案
就是多給這個站一個英文 domain
好在這個問題只有影響到後台管理人員而非一般使用者
要求這些少數人使用另一個 domain 的網址進行管理還說得過去

如此一來終於搞定了
話說回來,竟然有一台電腦可以正常連線
這表示在上面的 jre 版本是不會有這種問題的
至於是那個版本
那台電腦不在我這裡,就再說吧 …


Responses

  1. I always emailed this blog post page to all my contacts,
    since if like to read it afterward my links will too.

  2. I am genuinely pleased to glance at this blog
    posts which contains tons of useful information, thanks
    for providing these kinds of statistics.

  3. Just desire to say your article is as astonishing.
    The clarity in your put up is just cool and i could think you’re knowledgeable on this subject.

    Well together with your permission let me to grasp your feed to keep updated with forthcoming post.
    Thanks 1,000,000 and please continue the enjoyable work.

  4. Gems are a resource primarily clash of clans hack gained through in app purchase.
    Clash Of Clans Secrets Review and discover how clash of clans hack Clash Of Clans Cheats And Hack Tool 100% Working.
    It is definitely alright to use some cheats, especially when
    one is stuck in a certain level in Clash of Clans Hack bellow.
    This little app will help you boost your score over the limit.
    A big part of resource farming in Clash of Clans
    unlimited gems hack without paying a single penny.


發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

分類

%d 位部落客按了讚: