What are best practices for securely handling user input from PHP GET requests?

When handling user input from PHP GET requests, it is crucial to sanitize and validate the input to prevent security vulnerabilities such as SQL injection or cross-site scripting attacks. One common best practice is to use PHP's filter_input function with the FILTER_SANITIZE_STRING filter to sanitize input and ensure it contains only valid characters.

$input = filter_input(INPUT_GET, 'user_input', FILTER_SANITIZE_STRING);
if ($input === false) {
    // Handle invalid input
} else {
    // Proceed with sanitized input
}