What are the drawbacks of storing variables directly in superglobal arrays like $_GET for PHP scripts?

Storing variables directly in superglobal arrays like $_GET can lead to security vulnerabilities such as injection attacks or data manipulation. To mitigate this risk, it is recommended to sanitize and validate input data before using it in your PHP scripts. This can be done by using filter_input() function to retrieve input values and filter_var() function to sanitize and validate them.

// Example of using filter_input() to retrieve and sanitize input data
$username = filter_input(INPUT_GET, 'username', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);

// Example of using filter_var() to sanitize and validate input data
$userInput = $_GET['user_input'];
$cleanInput = filter_var($userInput, FILTER_SANITIZE_STRING);