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

Bagaimana untuk menggunakan fungsi PHP untuk pengesahan dan penapisan data borang?

WBOY
WBOYasal
2023-07-24 20:43:461210semak imbas

Bagaimana untuk menggunakan fungsi PHP untuk pengesahan dan penapisan data borang?

Dengan perkembangan Internet, borang telah menjadi bahagian penting dalam cara pengguna berinteraksi dengan tapak web. Bagi pembangun laman web, memastikan keselamatan dan kesahihan data borang adalah penting. Dengan menggunakan fungsi PHP untuk pengesahan dan penapisan data borang, kami boleh mencegah masalah yang disebabkan oleh input berniat jahat dan ralat data dengan berkesan.

1. Pengesahan data

Pengesahan data merujuk kepada pengesahan data yang diserahkan oleh pengguna untuk menentukan sama ada ia mematuhi peraturan pratetap. Berikut ialah beberapa kaedah pengesahan data borang biasa:

  1. Sahkan medan yang diperlukan
    Banyak borang mempunyai medan yang diperlukan dan kami boleh mengesahkannya dengan menilai sama ada medan itu kosong. Anda boleh menggunakan fungsi PHP empty() atau isset() untuk menentukan sama ada medan kosong. empty()或者isset()来判断一个字段是否为空。

示例代码:

if (empty($_POST['username']) || empty($_POST['password'])) {
    echo "用户名和密码不能为空!";
    exit;
}
  1. 验证邮箱格式
    验证用户输入的邮箱是否符合邮箱的格式,可以使用filter_var()函数和FILTER_VALIDATE_EMAIL过滤器。

示例代码:

$email = $_POST['email'];

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "邮箱格式不正确!";
    exit;
}
  1. 验证手机号格式
    验证用户输入的手机号是否符合手机号的格式,可以使用正则表达式进行验证。

示例代码:

$phone = $_POST['phone'];

if (!preg_match("/^1[3456789]d{9}$/", $phone)) {
    echo "手机号格式不正确!";
    exit;
}

二、数据过滤

数据过滤是指对用户提交的数据进行过滤,去除非法的或者不需要的字符。以下是一些常见的表单数据过滤方法:

  1. 过滤HTML标签
    防止用户提交恶意的HTML标签或者脚本,可以使用strip_tags()函数去除HTML标签。

示例代码:

$content = $_POST['content'];
$filteredContent = strip_tags($content);
  1. 过滤特殊字符
    防止用户提交一些特殊字符,可以使用htmlspecialchars()函数进行转义。

示例代码:

$content = $_POST['content'];
$filteredContent = htmlspecialchars($content);
  1. 过滤SQL注入
    防止用户提交带有恶意SQL语句的数据,可以使用mysqli_real_escape_string()
Contoh kod:

$username = $_POST['username'];
$password = $_POST['password'];

$username = mysqli_real_escape_string($con, $username);
$password = mysqli_real_escape_string($con, $password);

    Sahkan format e-mel

    Untuk mengesahkan sama ada e-mel yang dimasukkan oleh pengguna mematuhi format e-mel, anda boleh menggunakan filter_var() fungsi dan FILTER_VALIDATE_EMAIL Tapis.

    Contoh kod: 🎜rrreee
      🎜Sahkan format nombor telefon bimbit🎜Sahkan sama ada nombor telefon bimbit yang dimasukkan oleh pengguna mematuhi format nombor telefon mudah alih Anda boleh menggunakan ungkapan biasa untuk pengesahan . 🎜🎜🎜Contoh kod: 🎜rrreee🎜 2. Penapisan data 🎜🎜Penapisan data merujuk kepada penapisan data yang diserahkan oleh pengguna untuk mengalih keluar aksara yang menyalahi undang-undang atau tidak diperlukan. Berikut ialah beberapa kaedah penapisan data bentuk biasa: 🎜🎜🎜Tapis teg HTML🎜Untuk menghalang pengguna daripada menyerahkan teg atau skrip HTML berniat jahat, anda boleh menggunakan fungsi strip_tags() untuk mengalih keluar teg HTML. 🎜🎜🎜Contoh kod: 🎜rrreee
        🎜Tapis aksara khas🎜Untuk menghalang pengguna daripada menyerahkan beberapa aksara khas, anda boleh menggunakan fungsi htmlspecialchars() untuk melarikan diri. 🎜🎜🎜Contoh kod: 🎜rrreee
          🎜Tapis suntikan SQL🎜Untuk menghalang pengguna daripada menyerahkan data dengan pernyataan SQL yang berniat jahat, anda boleh menggunakan fungsi mysqli_real_escape_string() untuk melarikan diri. 🎜🎜🎜Contoh kod: 🎜rrreee🎜Di atas hanyalah beberapa kaedah pengesahan dan penapisan data biasa Bergantung pada situasi sebenar, kami juga boleh menyesuaikan beberapa peraturan pengesahan dan penapisan mengikut keperluan. 🎜🎜Ringkasnya, dengan menggunakan fungsi PHP untuk pengesahan dan penapisan data borang, kami boleh memastikan keselamatan dan kesahihan data borang dengan berkesan. Dalam pembangunan sebenar, kami perlu memilih kaedah pengesahan dan penapisan yang sesuai berdasarkan keperluan perniagaan dan keperluan keselamatan khusus untuk meningkatkan pengalaman input data pengguna dan melindungi keselamatan tapak web. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi PHP untuk pengesahan dan penapisan data borang?. 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