What are some best practices for securely handling user input in PHP scripts to prevent spam or malicious activities?

When handling user input in PHP scripts, it is crucial to sanitize and validate the data to prevent spam or malicious activities such as SQL injection or cross-site scripting attacks. One best practice is to use functions like filter_input() or htmlspecialchars() to sanitize user input before using it in your application. Additionally, implementing input validation using regular expressions or PHP filters can help ensure that the data meets the expected format.

// Sanitize user input using filter_input()
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);

// Validate email input
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // Process the data
} else {
    // Handle invalid email input
}