看板 Web_Design 關於我們 聯絡資訊
事情是如此的… 最近我注意到 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