[英]Is this a sufficient method for preventing clickjacking?
點擊劫持是指人們誘使用戶點擊他們不應該點擊的按鈕,從而使他們執行惡意操作。
我正在開發一種產品,作為商家的一種選擇,它提供了一個iFrame組件,該組件可以嵌入到網站中進行付款。 登錄的用戶將在iframe中看到一個按鈕,他們可以單擊該按鈕以執行重要操作。 僅當點擊是真正的點擊時,才應調用此操作。
例如,如果iFrame的不透明度設置為0,則可以對其進行定位,以使iFrame中的按鈕不可見,但位於其他可見按鈕之上。 因此,可以誘騙用戶單擊它。
我想我有一種預防方法,但是我不確定它是否足夠。 以下代碼將放入iFrame中:
<script>
function frameVisible() {
var has_dimension = $(frameElement).is(':visible');
var is_visible = $(frameElement).css('visibility') == 'visible';
var is_opaque = $(frameElement).css('opacity') == '1';
var one_deep = (parent == top);
return has_dimension && is_visible && is_opaque && one_deep;
}
if (!frameVisible()) {
$(document.body).hide()
}
</script>
基本上,如果以任何方式遮蓋了iframe,iframe的內容都會被隱藏,從而避免意外點擊。
我只是想找出是否有辦法解決這里提供的代碼。
這還不夠。
攻擊者可以將自己的元素放置在<iframe>
上方,或者為用戶單擊留出很小的空隙,或者設置pointer-events: none
允許用戶單擊封面。
AFAIK,您無法檢測到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.