How can PHP developers ensure that only specific files are accessed or modified when using the exec function?

PHP developers can ensure that only specific files are accessed or modified when using the exec function by implementing proper input validation and sanitization. This involves checking user input to ensure that only allowed file paths are passed to the exec function. Additionally, developers can use file permissions to restrict access to certain files or directories.

// Example of validating and sanitizing user input for file paths
$user_input = $_POST['file_path'];

$allowed_paths = ['/path/to/allowed_file_1', '/path/to/allowed_file_2'];

if (in_array($user_input, $allowed_paths)) {
    // Execute command using $user_input
    exec("command $user_input");
} else {
    // Handle error or deny access
    echo "Access denied.";
}