Apabila membangunkan skrip mel PHP, adalah penting untuk memastikan keselamatan data yang diserahkan pengguna sebelum melnya. Mengabaikan pembersihan input menyebabkan skrip anda terdedah kepada kelemahan seperti skrip merentas tapak (XSS) dan suntikan SQL.
Untuk menangani cabaran ini, kod berikut menunjukkan cara membersihkan input pengguna menggunakan fungsi filter_var():
<code class="php">$to = "[email protected]"; $name = filter_var($_POST['name'], FILTER_SANITIZE_STRING); $message = filter_var($_POST['message'], FILTER_SANITIZE_STRING); $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); $body = "Person $name submitted a message: $message"; $subject = "A message has been submitted"; $headers = 'From: ' . $email; mail($to, $subject, $body, $headers); header("Location: http://example.com/thanks");</code>
Fungsi filter_var() menyediakan pelbagai penapis sanitizer. Dalam kes ini, kami menggunakan penapis FILTER_SANITIZE_STRING pada nama dan mesej untuk mengalih keluar aksara berniat jahat. Untuk e-mel, kami menggunakan FILTER_SANITIZE_EMAIL untuk mengesahkan alamat e-mel.
Dengan melaksanakan sanitasi input, anda boleh meningkatkan keselamatan skrip mel anda dan melindunginya daripada kemungkinan kelemahan.
Atas ialah kandungan terperinci Bagaimana untuk Membersihkan Input Pengguna Sebelum Mel dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!