Tuesday, October 17, 2006

火大了,誰在搞鬼?

如果你點http://www.dcview.com.tw/gallery/showmsg.asp?msgid=587984

http://www.dcview.com.tw
都是導到DCView的首頁,那就是碰到和我一樣的問題。

我使用Firefox和IE都碰到一樣的問題,但是若將
http://www.dcview.com.tw/gallery/showmsg.asp?msgid=587984
直接貼到URL卻又OK,Firefox和IE的行為都一樣。

我將此URL MSN給Michael,又可直接點選此URL看到敝人的拙作。

最後我將DCView外拍這篇Blog存成一般的html檔案,直接開啟此檔,卻又可以正常連結到我在DCView的作品。

火大了,誰在搞鬼。

這時候我相信問題應該是http get的封包內容不同,只是昨天太晚了,沒有繼續查下去。現在來玩玩吧。


以上是正常http get的封包。


以上是被導到DCView首頁時的http get的封包。

答案快揭曉了,被導到DCView首頁的封包多了一個http referer欄位(紅框處)。DCView Serve根據這個欄位研判這是一個從其他網站連結進來要求,不允許這樣的超連結,所以將此頁導到首頁。

有規則就能破解,只要瀏覽器都不送http referer,DCView就無法檔。我相信Firefox有此能耐。我嘗試在Firefox的URL打入'about:config',列出所有configuration,然後在Filter的欄位輸入'http',只看http相關設定。

Bingo!我找到了。我看到'network.http.sendRefererHeader'這個欄位,上網找了相關資料,只要將預設值'2'改為'0',不須要關閉/重開Firefox,破解了。



如果DCView改變策略,瀏覽器不送referer也照擋,怎麼辦?

Firefox還是有辦法,可安裝Firefox Refspoof plugin,此套件可以送一個假的referer header騙過他。

Firefox萬歲!

15 comments:

Michael Lin said...

一個字;強

Anonymous said...

和Michael有同感!!!

Edward Lin said...

如果用最勁暴的詞來形容我這個行業,我會說軟體工程師,程式設計師每天都在幫這個世界製造問題,麻煩和臭蟲。大家都是過來人,只是我的產品規模很大而已,應該能理解。

近一年的經驗,每寫千行C/C++程式可以製造15個問題,一個新系統數千隻臭蟲算正常,上萬隻臭蟲不誇張。我manage的產品,還算'愛國',我的公司,在國內算優秀,其他公司的產品品質,應該屬於那種'上廁所不會忘記關門'這種等級吧。

製造麻煩是我們的責任,解決問題是我們的天職。

所以囉,像這種問題,如果我無法解決,會睡不著的。

隔行如隔山,這個問題得難度還算小case啦。

Anonymous said...

兩個字:好強!

Michael Lin said...

三個字,真正強!

BUT

因為問題是我發現後,Edward 才去找為什麼會這樣子及如何解。所以我要出考題來考一下。

有沒有聽過 firefox 的一個 plugin 叫 IE Tab 的呢?我在連結到你在 DCView作品連結 (http://www.dcview.com.tw/gallery/showmsg.asp?msgid=587984)上按下右鍵後,選擇以 IE Tab 來開啟鍵結時,就會開到正確的網頁。

請問這又是怎麼一回事!

Edward Lin said...

>>有沒有聽過 firefox 的一個 plugin 叫 IE Tab 的呢?我在連結到你在 DCView 的作品連結 (http://www.dcview.com.tw/gallery/showmsg.asp?msgid=587984)上按下右鍵後,選擇以 IE Tab 來開啟鍵結時,就會開到正確的網頁。

>>請問這又是怎麼一回事!

我用IE tab還是被導到首頁,和你的行為不一樣?

又是一個麻煩問題,假期再來sniffer看看。

Edward Lin said...

>>一個字:強
>>兩個字:好強!
>>三個字:真正強!
四個字:叫我小強!

來接力啊:)

Michael Lin said...

>>一個字:強
>>兩個字:好強!
>>三個字:真正強!
>>四個字:叫我小強!


五個字:真的非常強!

接力就接力啊,誰怕誰!

Michael

Edward Lin said...

>一個字:強
>>兩個字:好強!
>>三個字:真正強!
>>四個字:叫我小強!
>>五個字:真的非常強!
六個字:抓臭蟲我最強!

Michael Lin said...

>一個字:強
>>兩個字:好強!
>>三個字:真正強!
>>四個字:叫我小強!
>>五個字:真的非常強!
>>六個字:抓臭蟲我最強!

抓臭蟲重要,除臭蟲更重要,光抓不改也是沒用的,所以

七個字:除蟲功力更要強!

Anonymous said...

七得隆咚強咚強
也是七個字

Michael Lin said...

>>七得隆咚強咚強
>>也是七個字


哇!這這這,這真的是太強了。這是我所認識的 Max 嗎?還是現在流行從網路上看出一個人的真性情?

真是一流的搞笑天才啊!

Edward Lin said...

>>>>七得隆咚強咚強
>>>>也是七個字

>>哇!這這這,這真的是太強了。這是我所認識的 Max 嗎?還是現在流行從網路上看出一個人的真性情?

>>真是一流的搞笑天才啊!

好冷!

Max要接就要接八個字,犯規重來!

Anonymous said...

七…七得隆咚強咚強
 
對不起 我口吃了…
不過正好是八個字…
 
不要理我 讀書壓力太大… ^^|||

Edward Lin said...

>>七…七得隆咚強咚強
 
>>對不起 我口吃了…
>>不過正好是八個字…
 
>>不要理我 讀書壓力太大… ^^|||

口吃?我還跳針咧.....
七得隆咚強強強強強.....

九個字:(