Pengesahan URL PHP dengan Ungkapan Biasa
Dalam pembangunan web, pengesahan input pengguna adalah penting untuk memastikan integriti data dan mencegah serangan berniat jahat. Apabila mengesahkan URL, ungkapan biasa (regex) boleh menjadi alat yang berkuasa.
Regex untuk Pengesahan URL
Regeks berikut menyediakan cara yang mudah dan berkesan untuk mengesahkan URL :
/^(http|https):\/\/(([a-zA-Z0-9._-]+\.)+[a-zA-Z]{2,6})(:\d+)?(\/[a-zA-Z0-9._/-]*)?$/
Penjelasan:
Menggunakan filter_var()
Walaupun ungkapan biasa boleh berkesan, menggunakan fungsi filter_var() biasanya lebih disukai untuk URL pengesahan. filter_var() menggunakan penapis terbina dalam, termasuk satu untuk mengesahkan URL.
Kod berikut menunjukkan cara untuk mengesahkan URL dengan filter_var():
var_dump(filter_var('example.com', FILTER_VALIDATE_URL));
Pertimbangan
Adalah penting untuk ambil perhatian bahawa pengesahan berasaskan regex mahupun filter_var() bukan benar-benar tidak mudah. Walau bagaimanapun, mereka menyediakan cara yang boleh dipercayai untuk mengesahkan bahawa rentetan mempunyai struktur asas URL.
Selain itu, pengesahan URL tidak boleh dianggap sebagai pengganti sanitasi input yang menyeluruh untuk mengelakkan XSS dan kelemahan keselamatan yang lain.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan URL dengan Berkesan dalam PHP Menggunakan Ungkapan Biasa atau Fungsi Terbina dalam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!