What best practices should be followed when accessing variables in PHP, especially in relation to superglobal arrays like $_GET and $_POST?

When accessing variables in PHP, especially superglobal arrays like $_GET and $_POST, it is important to validate and sanitize user input to prevent security vulnerabilities such as SQL injection and cross-site scripting attacks. Always use filtering functions like filter_input() or filter_var() to validate input, and escape output when displaying user-submitted data to prevent XSS attacks.

// Example of validating and sanitizing user input from $_GET
$user_input = filter_input(INPUT_GET, 'user_input', FILTER_SANITIZE_STRING);

// Example of escaping output when displaying user-submitted data
echo htmlspecialchars($_POST['user_input'], ENT_QUOTES, 'UTF-8');