Anda telah melaksanakan JavaScript anti-pembingkaian untuk menghalang tapak anda daripada dibenamkan dalam iframe. Walau bagaimanapun, anda telah menemui kod berniat jahat yang boleh memintas usaha penghapusan bingkai anda. Isu ini menimbulkan persoalan yang menarik: Bolehkah anda mengakali pemusnah penghancur bingkai?
Kod penyerang beroperasi dengan menambah pembilang semasa percubaan navigasi halaman dan menggunakan pemasa untuk mengubah hala halaman ke pelayan jauh yang bertindak balas dengan HTTP kod status 204, menghalang navigasi dengan berkesan.
Walaupun kod anti-pembingkaian boleh dipintas, adalah mungkin untuk mendapatkan semula kawalan dengan mengalahkan mekanisme pembilang dan pemasa yang digunakan oleh penyerang. Begini caranya:
Acara onbeforeunload digunakan oleh penyerang untuk menambah pembilang. Untuk melumpuhkannya, gunakan:
window.onbeforeunload = null;
Untuk menggantung setInterval pemasa, gunakan fungsi clearInterval:
var intervalID = setInterval(function() { // ... }, 1); clearInterval(intervalID);
Untuk pelayar utama, menggunakan pengepala X-Frame-Options boleh menghalang pembingkaian walaupun dengan skrip dilumpuhkan. Contohnya:
X-Frame-Options: SAMEORIGIN
Atas ialah kandungan terperinci Bolehkah Anda Mengakali Pemusnah Bingkai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!