What are the potential pitfalls of storing form input data in PHP sessions?

Storing form input data in PHP sessions can lead to security risks such as session fixation attacks and increased server memory usage. To mitigate these risks, it is recommended to validate and sanitize the input data before storing it in sessions, limit the amount of data stored, and periodically clean up old session data.

// Validate and sanitize form input data
$input_data = $_POST['input_data'];
$clean_data = filter_var($input_data, FILTER_SANITIZE_STRING);

// Limit the amount of data stored in session
if (!isset($_SESSION['form_data'])) {
    $_SESSION['form_data'] = [];
}
if (count($_SESSION['form_data']) < 10) {
    $_SESSION['form_data'][] = $clean_data;
}

// Clean up old session data
if (count($_SESSION['form_data']) > 100) {
    array_shift($_SESSION['form_data']);
}