What security measures should be implemented when allowing users to customize the display of table columns in PHP?

When allowing users to customize the display of table columns in PHP, it is important to implement security measures to prevent potential vulnerabilities such as SQL injection attacks. One way to address this issue is to validate and sanitize user input before using it in SQL queries. This can be done by checking the input against a whitelist of allowed columns and ensuring that only valid column names are used.

// Validate and sanitize user input for table column customization
$allowed_columns = ['column1', 'column2', 'column3']; // Define a whitelist of allowed columns

if (isset($_GET['column']) && in_array($_GET['column'], $allowed_columns)) {
    $selected_column = $_GET['column'];
    // Use $selected_column in your SQL query or display logic
} else {
    // Handle invalid input, possibly by using a default column
}