Memahami Notis Susut Nilai: FILTER_SANITIZE_STRING yang berterusan ditamatkan
Dalam PHP 8.1, FILTER_SANITIZE_STRING dan FILTER_PPED_STRING yang berterusan telah ditamatkan. Ini menimbulkan persoalan: apakah penggantian yang sesuai untuk pemalar ini?
Rasional Susut Nilai
Penapis ini tidak tepat dalam tujuannya dan boleh menyebabkan kekeliruan. Kefungsian mereka sering disalah anggap sebagai penapis rentetan lalai, FILTER_UNSAFE_RAW. Akibatnya, komuniti PHP telah menghentikan penggunaannya.
Pilihan Penggantian
Terdapat beberapa pilihan yang tersedia untuk menggantikan FILTER_SANITIZE_STRING dan FILTER_SANITIZE_STRIPPED:
function filter_string_polyfill(string $string): string { $str = preg_replace('/\x00|<[^>]*>?/', '', $string); return str_replace(["'", '"'], ['&#39;', '&#34;'], $str); }
Amalan Terbaik: Output Melarikan diri
Adalah penting untuk diingat bahawa input pembersihan tidak berkesan dalam mencegah risiko keselamatan. Sebaliknya, fokus pada melepaskan keluaran untuk melindungi daripada kelemahan XSS. Ini memastikan bahawa output adalah selamat tanpa mengira sebarang input berniat jahat yang mungkin telah diterima.
Atas ialah kandungan terperinci Apakah Penggantian Terbaik untuk Pemalar PHP FILTER_SANITIZE_STRING dan FILTER_SANITIZE_STRIPPED yang Dihentikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!