Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengesahkan URL dengan Berkesan dalam PHP Menggunakan Ungkapan Biasa atau Fungsi Terbina dalam?

Bagaimanakah Saya Boleh Mengesahkan URL dengan Berkesan dalam PHP Menggunakan Ungkapan Biasa atau Fungsi Terbina dalam?

Patricia Arquette
Lepaskan: 2024-12-23 20:42:12
asal
753 orang telah melayarinya

How Can I Effectively Validate URLs in PHP Using Regular Expressions or Built-in Functions?

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._/-]*)?$/
Salin selepas log masuk

Penjelasan:

  • (http|https):// sepadan dengan protokol (sama ada HTTP atau HTTPS).
  • (([a-zA-Z0-9._-] .) [a-zA-Z]{2,6}) sepadan dengan nama domain, terdiri daripada subdomain, domain peringkat atas dan nombor port pilihan.
  • (/[a-zA-Z0-9._/-]*)? sepadan dengan laluan pilihan dan nama fail.

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));
Salin selepas log masuk

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!

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