簡體   English   中英

如何在 iframe 中實現 Frame Buster Javascript

[英]How to implement Frame Buster Javascript in iframe

我看到這段代碼可以幫助解決 iframe 中的點擊劫持問題

<style> 
  html { display : none; } 
</style>

<script>
  if( self == top ) {
    document.documentElement.style.display = 'block';
  } else {
    top.location = self.location ;
  }
</script>

我不明白它是如何解決問題的? 為什么self == top會解決它?

我可以使用ALLOW-FROM標頭還是建議同時使用這兩種方法?

為了便於討論,Mallary 的頁面是包含<iframe>元素的頁面,而 Bob 的頁面是放入框架中的頁面。

我不明白它是如何解決問題的?

Mallary 無法點擊劫持 Bob 的頁面,如果她一開始就無法將其保存在框架中。

當然,這需要點擊劫持攻擊完全依賴於 Bob 運行 JS 的頁面,否則 Mallary 可以對其進行sandbox ,因此它的 JavaScript 都不會運行。

為什么self == top會解決它?

它沒有。

top.location = self.location; 使瀏覽器離開 Mallary 的頁面,並將 Bob 的頁面加載到瀏覽器頂層的位置。

self == top阻止瀏覽器離開 Bob 的頁面並在其位置加載 Bob 的頁面:即它可以防止無限循環重新加載。

我可以使用 ALLOW-FROM 標頭還是建議同時使用這兩種方法?

X-Frame-Options是一種更有效且破壞性更小的方法來阻止頁面加載到框架中。 CSPX-Frame-Options更靈活的替代品。

我會使用它們而不是像這樣的 JavaScript hacks。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM