What are best practices for securely handling user input in PHP when creating config files?

When creating config files in PHP, it is crucial to securely handle user input to prevent vulnerabilities such as code injection or malicious file uploads. One best practice is to sanitize and validate all user input before using it in the config file. This can be done by using functions like filter_input() or htmlspecialchars() to clean the input and ensure it does not contain any harmful code.

// Example of securely handling user input in a config file
$user_input = $_POST['user_input']; // Assuming user input is received via POST method

// Sanitize and validate user input
$sanitized_input = filter_input(INPUT_POST, 'user_input', FILTER_SANITIZE_STRING);

// Use the sanitized input in the config file
$config_data = "<?php\n";
$config_data .= "define('USER_INPUT', '" . $sanitized_input . "');\n";
$config_data .= "?>";

file_put_contents('config.php', $config_data);