How can URL parameters in PHP be manipulated to enhance security and prevent unauthorized access to sensitive files?

URL parameters in PHP can be manipulated by users to access sensitive files or perform unauthorized actions on a website. To enhance security and prevent this, it is important to validate and sanitize input data received through URL parameters. This can be done by checking for specific conditions or patterns in the parameters before using them in file operations or database queries.

// Example of validating and sanitizing URL parameters to prevent unauthorized access

// Check if the 'id' parameter is present and is a number
if(isset($_GET['id']) && is_numeric($_GET['id'])) {
    $id = $_GET['id'];

    // Sanitize the 'id' parameter to prevent SQL injection
    $id = filter_var($id, FILTER_SANITIZE_NUMBER_INT);

    // Use the sanitized 'id' parameter in further operations
    // For example, querying a database with the sanitized 'id'
}