Hola , mira te presento una solución a simple vista rapida para lo que decis:
Código php:
Ver original<?php
if($link){
}else{
die('Error conectando a la db'); }
$ip=$_SERVER['REMOTE_ADDR'];
$sql="SELECT ip FROM tabla_ip WHERE ip='{$ip}'";
if($sql){
die('Tu ip esta baneada'); //-- tambien puede ser una redicción con php es decir con header }
}else{
die('Error en consulta sql'); }
?>
Este fichero debe ir incluido en todos los php que tengas para securizar toda la web :)
Por otro lado el metodo que tu mencionas me di cuenta que es lo mismo que yo te escribi jajaja , realmente no existe metodo bueno o malo pero pensa que si la web va a tener alto transito vas a tener consultas permantes a la tabla ips , por ende una cierta congestión o cuello de botella en toda tu web , ya que si este archivo falla , es muy factible que tu web no te ande.
Por otro lado el metodo que decis del panel es con htaccess , en teoria es mas veloz que php pero es mas incomodo para administrar por lo cual a mi gusto no es util , y tambien llega un cierto punto en donde el fichero .htaccess tiene cierto peso , que relentiza el sistema ya que ante cada petición get o post , el servidor primero procesa ese fichero , es decir el htacess.
Son ambos metodos viables en webs chicas , en webs muy grandes y que posees acceso a tu servidor , es decir un servidor dedicado se puede usar iptables :).
Cualquier consulta o sugerencia , te escucho :)