作者grassboy2 (活力花俏草兒仔政﹞O花俏)
看板Web_Design
標題[問題] 防止網站被iframe包住的手法?
時間Wed Oct 19 03:05:11 2011
事情是如此的…
最近我注意到
http://www.google.com.tw/ 不再讓人家用iframe包住了…
如果是在非www.google.com.tw下放
<iframe src="
http://www.google.com.tw"></iframe>
iframe裡的src會被導到about:blank去…
一開始只是單純以為他是用javascript的
if (top.location.host != self.location.host )
{
self.location.href="about:blank";
}
但我把瀏覽器的javascript關掉了…
還是會被導到about:blank…
所以又猜了是不是server端會認http-referer資訊…
但我用Fiddler這個軟體把referer改成
http://www.google.com.tw 還是沒有用…
而且我從Fiddler看到了…google的確是有吐回來首頁的html給我…
但就是不知道為什麼iframe就是會被導到about:blank去…
有人知道Google用了什麼樣的招術嗎?
我看了一下Fiddler裡的所有http request…
他在把我導到about:blank前,沒有request額外的js、css資源…
所以應該是在他們首頁的原始碼動了什麼手腳?
但小弟從原始碼找了幾個關鍵字 parent, about:blank, location.href
都看不出來是哪裡動了手腳0rz...
所以想請板上的高手們提示一下…
還有哪些可以防止iframe包網站的手法?
附上測試頁面:
http://grassboy.tw/tmp/iframe_google.html
先謝謝大家的回答了m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.188.155
※ 編輯: grassboy2 來自: 220.133.188.155 (10/19 03:07)
推 JediDotOrg:HTTP Response Header, X-Frame-Options 10/19 03:20
→ apiod:<iframe name=wgjf style=display:none src="/blank.html" 10/19 03:45
→ apiod:onload="google.j.l()" onerror="google.j.e()"></iframe> 10/19 03:45
→ apiod:是這行嗎? 10/19 03:45
→ grassboy2:經測試…Fiddler把一樓的Response Header擋掉後的確就ok 10/19 04:17
→ grassboy2:可以正常將google包在iframe了 感謝樓上兩位大大m(_ _)m 10/19 04:18