How can the security risks associated with assigning values from $_POST directly to $_SESSION variables be mitigated in PHP?

Assigning values from $_POST directly to $_SESSION variables can pose a security risk as it allows potentially unsafe data to be stored in the session. To mitigate this risk, it is recommended to sanitize and validate the data from $_POST before assigning it to $_SESSION variables.

// Sanitize and validate data from $_POST
$sanitized_data = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);

// Assign sanitized data to $_SESSION variables
$_SESSION['username'] = $sanitized_data['username'];
$_SESSION['email'] = $sanitized_data['email'];