Penilaian Rentetan Selamat dalam JavaScript: Alternatif kepada eval()
Fungsi eval(), walaupun mudah, mendedahkan potensi risiko keselamatan dalam JavaScript . Apabila berurusan dengan rentetan tidak dipercayai yang mengandungi kod boleh laku, adalah penting untuk mencari alternatif yang lebih selamat.
Satu pilihan yang berdaya maju ialah menggunakan pembina Function(). Pembina ini membolehkan kami mencipta fungsi dinamik daripada rentetan yang diberikan:
function evil(fn) { return new Function('return ' + fn)(); }
Menggunakan fungsi ini, kami boleh menilai ungkapan rentetan matematik tanpa risiko yang dikaitkan dengan eval(). Berikut ialah contoh:
const apa = "12/5*9+9.4*2"; console.log(evil(apa)); // Output: 40.4
Kaedah ini menyediakan cara selamat untuk mengira nilai rentetan tanpa menggunakan eval(). Ia menawarkan peningkatan perlindungan terhadap suntikan kod berniat jahat, menjadikannya pilihan yang lebih selamat untuk mengendalikan input yang tidak dipercayai.
Atas ialah kandungan terperinci Bagaimana untuk Menilai Rentetan dengan Selamat dalam JavaScript: Alternatif kepada `eval()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!