Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk melakukan pengesahan borang dan penapisan data dalam PHP?

Bagaimana untuk melakukan pengesahan borang dan penapisan data dalam PHP?

WBOY
WBOYasal
2023-06-30 12:24:251217semak imbas

Bagaimana untuk melaksanakan pengesahan borang dan penapisan data dalam PHP?

Dengan perkembangan Internet, pengesahan borang dan penapisan data menjadi semakin penting dalam pembangunan web. Dalam PHP, kita boleh menggunakan beberapa kaedah untuk mengesahkan dan menapis input borang untuk memastikan integriti dan keselamatan data.

Pertama sekali, kami perlu menjelaskan dengan jelas bahawa pengesahan borang pihak pelanggan tidak boleh dipercayai. Walaupun ada kemungkinan untuk melakukan pengesahan bentuk mudah di sisi penyemak imbas, seperti mengehadkan panjang medan, medan yang diperlukan, dll., pengesahan ini boleh dipintas. Oleh itu, kita perlu melakukan pengesahan dan penapisan di bahagian pelayan.

PHP mempunyai fungsi dan penapis terbina dalam yang boleh digunakan untuk menyemak dan menapis input borang. Berikut ialah beberapa kaedah yang biasa digunakan:

  1. Gunakan fungsi isset() untuk menyemak sama ada medan wujud:
    Sebelum memproses data borang, kami harus memastikan dahulu bahawa medan yang kami perlukan telah diserahkan. Kita boleh menggunakan fungsi isset() untuk menyemak sama ada medan wujud. Contohnya:

if(isset($_POST['username'])){
// Medan telah diserahkan
} lain {
// Medan belum diserahkan
}

  1. Gunakan fungsi pengesahan untuk mengesahkan data:
    Anda boleh menggunakan beberapa fungsi pengesahan Terbina dalam untuk mengesahkan data, seperti fungsi filter_var() dan preg_match(). Fungsi filter_var() boleh mengesahkan jenis data biasa seperti e-mel, URL, integer, dsb. Fungsi preg_match() boleh menggunakan ungkapan biasa untuk mengesahkan data. Penggunaan khusus adalah seperti berikut:

$email = $_POST['email'];
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
echo "Emel sah";
} else {
echo "Email is tidak sah";
}

  1. Gunakan penapis untuk menapis data:
    Selain mengesahkan data, kami juga boleh menggunakan penapis untuk menapis data. Penapis boleh mengalih keluar atau mengubah suai aksara dan token yang tidak diingini. Fungsi filter_input() dan filter_input_array() boleh digunakan untuk menapis data input. Berikut ialah contoh:

$username = $_POST['username'];
$filtered_username = filter_var($username, FILTER_SANITIZE_STRING);
echo $filtered_username;

  1. Pengesah tersuai untuk menggunakan
    dan penapis tersuai -dalam fungsi pengesahan dan penapis, kami juga boleh membuat pengesah dan penapis tersuai. Kita boleh menggunakan bendera FILTER_CALLBACK bagi fungsi filter_var() untuk memanggil fungsi tersuai. Contohnya:

function custom_validator($input){
// Logik pengesahan tersuai
if($input == 'admin'){

return true;

} else {

return false;

}
}

= $_POSEmail ['email'];
if(filter_var($email, FILTER_CALLBACK, array('options' => 'custom_validator'))){
echo "Emel sah";
} else {
echo "Emel is invalid" ;
}

Di atas adalah beberapa kaedah biasa untuk melaksanakan pengesahan borang dan penapisan data. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai mengikut keperluan tertentu. Pada masa yang sama, kita juga harus memberi perhatian kepada keselamatan data, seperti menggunakan pernyataan yang disediakan untuk mencegah serangan suntikan SQL, menggunakan fungsi htmlspecialchars() untuk mencegah serangan skrip merentas tapak, dsb.

Ringkasnya, pengesahan borang dan penapisan data adalah bahagian yang sangat penting dalam pembangunan web. Dengan menggunakan fungsi dan penapis terbina dalam PHP, kami boleh mengesahkan dan menapis input borang dengan berkesan untuk memastikan integriti dan keselamatan data.

Atas ialah kandungan terperinci Bagaimana untuk melakukan pengesahan borang dan penapisan data dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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