PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang digunakan secara meluas, dan semakin banyak tapak web serta aplikasi web ditulis dalam PHP. Walau bagaimanapun, disebabkan sifat terbuka PHP, ia juga meningkatkan kemungkinan kelemahan keselamatan. Terdapat beberapa fungsi sensitif yang boleh menyebabkan masalah keselamatan yang serius, jadi melumpuhkan fungsi sensitif ini merupakan langkah penting untuk memastikan keselamatan PHP.
Fungsi sensitif merujuk kepada fungsi yang boleh menimbulkan ancaman kepada sistem itu sendiri dan data pengguna. Fungsi sensitif biasa termasuk exec(), system(), shell_exec(), passthru() dan proc_open(), dsb. Fungsi ini menyebabkan atur cara melaksanakan perintah sistem secara langsung, membenarkan penyerang peluang untuk melaksanakan kod sewenang-wenangnya. Jika penyerang menggunakan fungsi ini untuk menyuntik kod hasad, akibatnya akan menjadi bencana.
Oleh itu, melumpuhkan fungsi sensitif adalah langkah penting dalam perlindungan keselamatan PHP. Berikut akan menerangkan secara terperinci cara untuk melumpuhkan fungsi sensitif ini dalam PHP.
1. Lumpuhkan fungsi sensitif melalui php.ini
Dalam fail php.ini, anda boleh melumpuhkan fungsi sensitif dengan menetapkan item disable_functions kepada senarai fungsi sensitif. Kaedah ini sesuai untuk melumpuhkan keseluruhan sistem PHP untuk memastikan fungsi sensitif tidak boleh digunakan dalam sistem. Tambahkan konfigurasi berikut dalam fail php.ini:
disable_functions = exec, system, shell_exec, passthru, proc_open
Ini akan melumpuhkan exec(), system(), shell_exec(), passthru ( ), proc_open() dan fungsi lain. Apabila skrip meminta fungsi ini, PHP akan mengembalikan ralat yang membawa maut.
2. Lumpuhkan fungsi sensitif melalui .htaccess atau httpd.conf
.htaccess dan httpd.conf ialah fail konfigurasi yang digunakan oleh pelayan Apache ini boleh digunakan untuk menyekat skrip PHP panggilan fungsi sensitif. Apabila program PHP berjalan seperti biasa pada pelayan Apache, jika pengguna mengakses skrip yang mengandungi fungsi sensitif, pelayan akan menghalang fungsi sensitif daripada berjalan berdasarkan fail konfigurasi. Kaedah untuk melumpuhkan fungsi sensitif melalui .htaccess adalah seperti berikut:
Tambah konfigurasi berikut dalam fail .htaccess:
php_value disable_functions "exec, system, shell_exec, passthru, proc_open"
Kaedah untuk melumpuhkan fungsi sensitif melalui httpd.conf adalah seperti berikut:
Tambah konfigurasi berikut dalam fail httpd.conf:
php_admin_value disable_functions "exec, system, shell_exec, passthru, proc_open"
3. Lumpuhkan fungsi sensitif melalui kod PHP
PHP boleh melumpuhkan fungsi sensitif dalam semua fail dengan menetapkan fungsi ini_set() dalam kod. Tambahkan kod berikut pada fail PHP:
ini_set('disable_functions', 'exec, system, shell_exec, passthru, proc_open');
Kaedah di atas boleh melumpuhkan fungsi sensitif dan meningkatkan PHP Keselamatan. Perlu diingatkan bahawa tidak semua fungsi sensitif perlu dilumpuhkan, kerana kadangkala fungsi sensitif ini akan membawa kemudahan besar kepada pengaturcara. Oleh itu, apabila melumpuhkan fungsi sensitif, anda perlu membuat pilihan berdasarkan situasi sebenar.
Ringkasnya, melumpuhkan fungsi sensitif ialah langkah utama untuk meningkatkan keselamatan PHP. Melalui kaedah yang diperkenalkan di atas, kakitangan yang berkaitan boleh meningkatkan keselamatan dan kebolehpercayaan aplikasi PHP, meningkatkan kebolehgunaan tapak, dan membolehkan mereka menjalankan kerja yang berkaitan dengan pembangunan Web dengan lebih baik.
Atas ialah kandungan terperinci Perlindungan keselamatan PHP: lumpuhkan fungsi sensitif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!