[英]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
是一種更有效且破壞性更小的方法來阻止頁面加載到框架中。 CSP是X-Frame-Options
更靈活的替代品。
我會使用它們而不是像這樣的 JavaScript hacks。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.