What are some best practices for handling spam in PHP guestbooks, such as implementing a blacklist for spam-typical words?

Spam in PHP guestbooks can be handled by implementing a blacklist of spam-typical words. This blacklist can be used to filter out any entries that contain these words, reducing the amount of spam that appears in the guestbook.

// Define a blacklist of spam-typical words
$blacklist = array("viagra", "casino", "free money");

// Check if the guestbook entry contains any words from the blacklist
foreach($blacklist as $word) {
    if(strpos(strtolower($guestbook_entry), $word) !== false) {
        // Entry contains a blacklisted word, reject it
        echo "Your entry contains spam and cannot be submitted.";
        exit;
    }
}

// If the entry passes the blacklist check, proceed with saving it to the guestbook
// Save the guestbook entry to the database or file