Penahentian FILTER_SANITIZE_STRING Malar
Dengan keluaran PHP 8.1, FILTER_SANITIZE_STRING yang berterusan telah ditamatkan penggunaannya. Perkara ini telah menimbulkan kebimbangan dalam kalangan pembangun yang sebelum ini bergantung pada penapis ini untuk membersihkan input rentetan.
Mengapa FILTER_SANITIZE_STRING Dihentikan?
Menurut komuniti PHP, FILTER_SANITIZE_STRING tidak jelas tujuan dan boleh menyebabkan kekeliruan. Ia mengalih keluar kandungan sewenang-wenangnya tanpa memberikan penjelasan yang jelas tentang fungsinya. Selain itu, ia telah digantikan dengan teknik sanitasi rentetan yang lebih berkesan.
Apa Yang Boleh Anda Gantikan?
Terdapat beberapa pilihan untuk menggantikan FILTER_SANITIZE_STRING yang telah ditamatkan:
Contoh Polyfill
function filter_string_polyfill(string $string): string { $str = preg_replace('/\x00|<[^>]*>?/', '', $string); return str_replace(["'", '"'], ['&#39;', '&#34;'], $str); }
Amalan Terbaik: Escape Output
Adalah penting untuk menekankan bahawa sanitasi harus digunakan pada data output, bukan data input. Dengan melepaskan aksara khas dalam output, anda menghalang skrip atau data berniat jahat daripada menjejaskan aplikasi anda.
Atas ialah kandungan terperinci Apakah Cara Terbaik untuk Menggantikan PHP FILTER_SANITIZE_STRING yang Dihentikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!