What best practices should be followed when writing PHP code to ensure security and efficiency in IP banning mechanisms?

When implementing IP banning mechanisms in PHP, it is crucial to sanitize and validate user input to prevent SQL injection and other vulnerabilities. Additionally, using prepared statements and parameterized queries can help protect against attacks. Finally, regularly updating and monitoring the list of banned IPs can ensure that the system remains secure and efficient.

// Sample PHP code snippet for implementing secure IP banning mechanism

// Sanitize and validate user input
$ip = filter_var($_POST['ip'], FILTER_VALIDATE_IP);

// Connect to database and prepare statement
$pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password');
$stmt = $pdo->prepare("INSERT INTO banned_ips (ip_address) VALUES (:ip)");

// Bind parameters and execute query
$stmt->bindParam(':ip', $ip);
$stmt->execute();