Lumpuhkan JavaScript bukan semua tetapi sebahagian daripada petua page_javascript

WBOY
Lepaskan: 2016-05-16 16:37:21
asal
1375 orang telah melayarinya

Kaedah yang dibincangkan dalam artikel ini tidak digunakan dalam projek sebenar kerana saya tidak menemui projek dengan keperluan sedemikian, tetapi percubaan mendapati ia boleh dilaksanakan.

1. Sumber idea saya

JavaScipt adalah satu perkara yang baik. Penampilannya menjadikan ekspresi halaman web lebih meriah (banyak program adalah hebat). Pada masa kini, banyak laman web rasmi blog membuka kebenaran skrip, membolehkan pengguna menyesuaikan skrip untuk memperkayakan ruang mereka sendiri Terutamanya beberapa blog teknikal dan profesional menyediakan persekitaran pembangunan yang agak santai. Tetapi kami juga mendapati bahawa banyak blog akan menyekat kaedah skrip tertentu. Ambil perhatian bahawa apa yang saya maksudkan di sini adalah sekatan separa. Jika sekatan penuh, ia adalah sangat mudah. ​​Hanya menapis blok skrip. Tetapi bagaimana sekatan separa dicapai?

Disebabkan saya tidak menghadapi masalah sebegitu dalam projek-projek sebelum ini, saya tidak membuat kajian yang terlalu mendalam pada mulanya, saya hanya terfikir untuk menggunakan kaedah "penggantian" mengikut perasaan saya. Jelas sekali pendekatan sedemikian tidak akan berfungsi kerana sesuatu boleh menjadi salah. Contohnya, jika saya ingin melumpuhkan kaedah amaran, saya mempunyai kod berikut:
window.alert('Some message');

Untuk menjadikan kod di atas tidak sah, cuma tukar makluman Sebagai contoh, tukar kepada huruf besar ALERT Ini pasti akan menyebabkan ralat skrip, tetapi anda masih boleh menggunakan try{}catch{} untuk menukar ALERT Included. ini adalah masalah besar dalam mengenal pasti pakej larangan, dan juga akan berlaku ralat sedemikian: amaran dalam document.write('alert some message' juga diganti.

Kemudian saya terfikir untuk menulis semula kaedah, menulis semula kaedah untuk dilumpuhkan dan menjadikannya tidak berkesan, tetapi saya tidak tahu sama ada ia adalah kaedah saintifik .

2. Pelaksanaan khusus

Pertama lihat kod berikut untuk melumpuhkan kaedah "makluman" dan "tulis":

window.alert=function(){}
document.write=function(){}

window.alert('Alert some message');
document.write('Write some message');
Salin selepas log masuk

Nampaknya sangat mudah dalam aplikasi sebenar, ekstrak dua baris pertama secara berasingan dan simpannya dalam fail JS luaran, dan muatkan fail JS ini terlebih dahulu pada halaman di mana kaedah JavaScript perlu ditapis (anda juga boleh mengeditnya. kandungan apabila pengguna Muatkan skrip ini dalam baris blok sebelumnya, supaya dalam blok HTML sebelumnya pentadbir atau pencipta halaman web kami masih boleh menggunakan kaedah yang akan dilumpuhkan), jadi memanggil kaedah yang dilumpuhkan kemudian tidak akan berfungsi.

Nota: Sebagai peringatan terakhir, anda juga mesti melumpuhkan beberapa kaedah operasi DOM, seperti kaedah remove(), kerana pengguna boleh menggunakan kaedah operasi DOM untuk mengalih keluar fail JS yang anda muatkan pada mulanya.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan