Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menilai Rentetan dengan Selamat dalam JavaScript: Alternatif kepada `eval()`?

Bagaimana untuk Menilai Rentetan dengan Selamat dalam JavaScript: Alternatif kepada `eval()`?

Susan Sarandon
Lepaskan: 2024-11-26 06:32:12
asal
748 orang telah melayarinya

How to Safely Evaluate Strings in JavaScript: Alternatives to `eval()`?

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)();
}
Salin selepas log masuk

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
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan