Dalam proses pembangunan PHP, kita pasti akan menghadapi beberapa ralat menjalankan program. Pada masa ini, mesej ralat lalai sistem mungkin memberi peluang kepada penyerang. Oleh itu, dalam proses pembangunan sebenar, kita perlu melindungi maklumat ralat untuk meningkatkan keselamatan laman web. Artikel ini akan memberi anda beberapa rujukan dengan memperkenalkan kaedah melindungi maklumat ralat yang dikembalikan oleh PHP.
PHP menyediakan cara untuk mematikan pelaporan ralat, iaitu, tambah baris kod berikut pada kod:
error_reporting(0);
Gunakan kaedah ini, PHP tidak akan memaparkan sebarang mesej ralat, termasuk ralat sintaks dan ralat masa jalan. Kaedah ini mudah dan mudah digunakan, tetapi pembangun tidak dapat mencari dan membetulkan ralat dalam masa, jadi ia hanya sesuai untuk tapak web yang dilancarkan secara rasmi.
Gunakan kaedah ini untuk menyimpan mesej ralat ke fail log sebelah pelayan Kodnya adalah seperti berikut:
ini_set('log_errors', 'On'); //开启日志记录 ini_set('error_log', '/var/log/php.error.log'); //将错误信息输出到指定路径的日志文件中
Semasa proses pembangunan, anda boleh menggunakan kaedah ini untuk mencari dengan cepat punca ralat dan membetulkannya dengan melihat fail log apabila ralat berlaku.
Gunakan kaedah ini untuk mengubah hala mesej ralat ke halaman tersuai untuk mencapai perisai. Kodnya adalah seperti berikut:
ini_set('display_errors', 'Off'); ini_set('error_reporting', E_ALL); ini_set('log_errors', 'On'); ini_set('error_log', '/var/log/php.error.log'); function myErrorHandler($errno, $errstr, $errfile, $errline) { header('Location: /error.html'); //将错误信息重定向至自定义错误页面 exit; //终止脚本的执行 } set_error_handler('myErrorHandler');
Dengan kaedah ini, walaupun ralat berlaku, penyerang tidak dapat melihat sebarang maklumat berguna, sekali gus meningkatkan keselamatan tapak web.
Jika tapak web anda menggunakan pelayan Apache, anda boleh menggunakan fail .htaccess untuk penyekatan seluruh tapak. Kod berikut mengubah hala mesej ralat ke halaman ralat tersuai:
php_flag display_errors Off //关闭错误信息输出 php_value error_reporting 0 //屏蔽所有错误信息 ErrorDocument 500 /error.html //设置500错误的自定义错误页面
Kaedah ini sesuai untuk situasi di mana berbilang program PHP dijalankan pada masa yang sama Anda hanya perlu menambah kod di atas pada . htaccess dalam direktori akar tapak web.
Ringkasan
Di atas memperkenalkan anda kepada kaedah melindungi maklumat ralat yang dikembalikan oleh PHP Dengan memilih kaedah yang berbeza, kami boleh bertindak balas secara fleksibel mengikut keperluan pembangunan. Perlu diingatkan bahawa penyekatan mesej ralat hanyalah satu cara untuk meningkatkan keselamatan laman web dan tidak boleh menggantikan langkah keselamatan yang lain. Oleh itu, semasa proses pembangunan, ia juga perlu untuk menggabungkan langkah keselamatan lain untuk meningkatkan keselamatan dan kebolehpercayaan laman web dalam semua aspek.
Atas ialah kandungan terperinci Ringkasan kaedah untuk melindungi mesej ralat yang dikembalikan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!