Rumah > pembangunan bahagian belakang > tutorial php > Apakah Penggantian Terbaik untuk Pemalar PHP FILTER_SANITIZE_STRING dan FILTER_SANITIZE_STRIPPED yang Dihentikan?

Apakah Penggantian Terbaik untuk Pemalar PHP FILTER_SANITIZE_STRING dan FILTER_SANITIZE_STRIPPED yang Dihentikan?

Mary-Kate Olsen
Lepaskan: 2024-11-30 20:26:12
asal
1066 orang telah melayarinya

What are the Best Replacements for the Deprecated PHP FILTER_SANITIZE_STRING and FILTER_SANITIZE_STRIPPED Constants?

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:

  • FILTER_UNSAFE_RAW: Penapis ini tidak menggunakan penapisan dan boleh digunakan jika tiada sanitasi khusus diperlukan.
  • htmlspecialchars(): Gunakan fungsi ini untuk melindungi daripada kelemahan XSS dengan pengekodan output, dan bukannya membersihkan input.
  • Polyfill Regex Tersuai: Untuk kes di mana kefungsian khusus diperlukan, polyfill regex boleh dibuat untuk meniru gelagat penapis yang ditamatkan:
function filter_string_polyfill(string $string): string
{
    $str = preg_replace('/\x00|<[^>]*>?/', '', $string);
    return str_replace([&quot;'&quot;, '&quot;'], ['&amp;#39;', '&amp;#34;'], $str);
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan