[問題] 防止網站被iframe包住的手法?

看板Web_Design作者 (活力花俏草兒仔政﹞O花俏)時間14年前 (2011/10/19 03:05), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
事情是如此的… 最近我注意到 http://www.google.com.tw/ 不再讓人家用iframe包住了… 如果是在非www.google.com.tw下放 <iframe src="" rel="nofollow">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)

10/19 03:20, , 1F
HTTP Response Header, X-Frame-Options
10/19 03:20, 1F

10/19 03:45, , 2F
<iframe name=wgjf style=display:none src="/blank.html"
10/19 03:45, 2F

10/19 03:45, , 3F
onload="google.j.l()" onerror="google.j.e()"></iframe>
10/19 03:45, 3F

10/19 03:45, , 4F
是這行嗎?
10/19 03:45, 4F

10/19 04:17, , 5F
經測試…Fiddler把一樓的Response Header擋掉後的確就ok
10/19 04:17, 5F

10/19 04:18, , 6F
可以正常將google包在iframe了 感謝樓上兩位大大m(_ _)m
10/19 04:18, 6F
文章代碼(AID): #1EdStfpj (Web_Design)