Pertanyaan fungsi_fungsi php.ini eval masih berfungsi


Saya mendapat sedikit masalah mencoba menonaktifkan beberapa fungsi di php saya. Pertama-tama, saya bukan pemilik server sehingga saya tidak dapat mengubah konfigurasi master php.ini. Tetapi saya mencoba mengubahnya dengan perintah yang diberikan oleh pemilik server kepada saya.

Berikut adalah baris yang saya masukkan ke dalam file php.ini yang saya buat

disable_functions=eval,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

di saya phpinfo() Saya dapat melihat nilai lokal dan nilai master yang fungsi-fungsi tersebut dinonaktifkan.

Tapi masalah saya mulai di sini. Dalam file yang sama di penyihir saya menjalankan phpinfo() dan saya dapat mengonfirmasi bahwa fungsi tersebut seharusnya dinonaktifkan, saya menjalankannya eval() dan a shell_exec() dan eval() masih bekerja tetapi shel_exec() dinonaktifkan.

Mengapa saya tidak bisa menonaktifkan eval()?


5
2017-12-19 15:22


asal


Jawaban:


eval adalah konstruksi bahasa, bukan fungsi, sehingga tidak dapat dinonaktifkan. Lihat http://www.php.net/eval untuk info lebih lanjut.


10
2018-02-12 06:18



Anda dapat mencoba membangun https://github.com/mk-j/PHP_diseval_extension untuk menonaktifkan eval.


0
2017-10-06 17:45