Rumah >hujung hadapan web >tutorial js >Bagaimana Kita Boleh Mengalahkan Pemusnah Bingkai Yang Menggunakan `setInterval` dan `onbeforeunload`?
Frame Buster Buster Buster: Defying the Unbreakable
Anda telah melaksanakan skrip pemusnah bingkai yang teguh untuk menghalang tapak anda daripada dipaparkan dalam iframe. Tetapi apa yang berlaku apabila kod pemusnah bingkai anda sendiri menjadi sasaran?
Penghilang Bingkai Bingkai.
Penyerang yang bijak telah membangunkan skrip yang boleh memintas bingkai anda- langkah menyekat dengan menggunakan peristiwa window.onbeforeunload dan pemasa ditetapkan untuk menyala setiap milisaat. Skrip penyerang:
Percubaan awal anda untuk mengalahkan penghancur penghancur bingkai ini telah gagal. Mengosongkan acara onbeforeunload tidak mempunyai kesan dan kotak amaran hanya memberikan gangguan sementara.
Buster Buster Buster.
Bolehkah anda memecahkan kitaran dan mengalahkan bingkai yang gigih -menghancurkan buster? Satu pendekatan untuk meneutralkan skrip penyerang ialah dengan menyasarkan pemasa setInterval():
// Detect the attacker's script var busterBuster = setInterval(function() { if (prevent_bust > 0) { // Bust the buster clearInterval(busterBuster); prevent_bust = 0; } }, 1);
Skrip ini:
Kesimpulan.
Semasa bingkai -buster-buster-buster adalah satu cabaran yang menggerunkan, buster-buster-buster menunjukkan daya tahan dan kebolehsuaian JavaScript pengaturcara. Dengan menganalisis kod penyerang dengan teliti dan memanfaatkan pengetahuan tentang ciri JavaScript, kami boleh mengatasi ancaman yang paling kompleks sekalipun.
Atas ialah kandungan terperinci Bagaimana Kita Boleh Mengalahkan Pemusnah Bingkai Yang Menggunakan `setInterval` dan `onbeforeunload`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!