What best practices should be followed when implementing spam protection in PHP scripts?

Spam protection in PHP scripts is essential to prevent unwanted submissions on forms or comments. One best practice is to use CAPTCHA or reCAPTCHA to verify that the submission is made by a human rather than a bot. Additionally, validating input data and implementing form tokens can help prevent spam submissions.

// Example of implementing reCAPTCHA for spam protection
$recaptcha_secret = 'YOUR_RECAPTCHA_SECRET_KEY';
$recaptcha_response = $_POST['g-recaptcha-response'];

$recaptcha = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$recaptcha_secret&response=$recaptcha_response");
$recaptcha = json_decode($recaptcha);

if($recaptcha->success == true) {
    // Process form submission
    echo "Form submission successful!";
} else {
    // Display error message
    echo "reCAPTCHA verification failed. Please try again.";
}