Bilakah eval() Evil dalam PHP?
Pembangun PHP sering memberi amaran supaya tidak menggunakan eval() kerana potensi bahayanya. Walau bagaimanapun, seseorang boleh mempertimbangkan untuk menggunakannya untuk keanggunan dan kecekapannya. Pertimbangkan contoh berikut:
$type = "enum('a','b','c')"; // Option 1 (Regex) $type_1 = preg_replace('#^enum\s*\(\s*\'|\'\s*\)\s*$#', '', $type); $result = preg_split('#\'\s*,\s*\'#', $type_1); // Option 2 (eval()) eval('$result = '.preg_replace('#^enum#','array', $type).';');
Pilihan yang manakah harus anda pilih?
Pertimbangkan Risiko eval()
Sedangkan eval() boleh menjadi mudah, adalah penting untuk mengetahuinya risiko:
Nilai Alternatif
Dalam kebanyakan kes, terdapat cara alternatif dan lebih selamat untuk mencapai kefungsian yang diingini tanpa eval(). Sebagai contoh, anda boleh menggunakan:
Gunakan eval() Dengan Bijak
Walaupun eval() mempunyai bahayanya, ia boleh menjadi alat yang berguna apabila digunakan dengan berhati-hati. Ikut garis panduan ini:
Dalam contoh yang diberikan, Pilihan 1 (regex) biasanya diutamakan kerana keselamatan dan kesederhanaannya. Pilihan 2 (eval()) lebih elegan tetapi memperkenalkan risiko yang tidak perlu.
Atas ialah kandungan terperinci Bilakah Menggunakan `eval()` dalam PHP merupakan Risiko Keselamatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!