Comprobación: Sistema de Seguridad en web modular.

Covi
07 de Abril del 2004
Hola, os escribo para ver si me podiais recomendar o aportar ideas a cerca de un sistema de seguridad que he hecho para mi web modular.
Ante todo, decir que soy novato en esto del PHP y MySQL y por eso creo que ha de tener fallos seguros.
Ah, está basado en su inicio de un sistema modular de Webstudio, de ZonaPHP.com, hay muchos cambios pero bueno, su inicio fue ese.
Pongo el código del sistema:

El index.php que gestiona la entrada al sistema:

<?php
// Incluimos el archivo de configuración
include('config.php');
//////////////////////////////////////////////////////////////////////////////////
// Creamos variables cortas
$ip_visitante = $HTTP_SERVER_VARS['REMOTE_ADDR'];
$url_sol = $HTTP_SERVER_VARS['REQUEST_URI'];

// Código para seguridad
// Comprobamos que no ha escogido un modulo inválido mas de 3 veces
mysql_select_db($database_db_conn, $db_conn);
$query_ataque = "SELECT * FROM ataques WHERE ip = '$ip_visitante'";
$ataque = mysql_query($query_ataque, $db_conn) or die(mysql_error());
$row_ataque = mysql_fetch_assoc($ataque);
$total_ataque = mysql_num_rows($ataque);

if ($total_ataque > 2)
{
include("ataque.php");
die('Se te ha denegado el acceso a esta web.');
}
else
{
//////////////////////////////////////////////////////////////////////////////////
// Verificamos que se haya escogido un modulo, sino
// cargamos uno para indicar que no está
if (!empty($_GET['mod']))
$modulo = $_GET['mod'];
else
$modulo = MODULO_INACTIVO;
?>
Esta es la parte solo que interesa del index.php y ahora lo que sería el del Modulo Inactivo:

abre_tabla_o();
echo '
<caption class=error>Módulo no válido!</caption>
<tr><td><p>Informe:<hr />';
$hora = date("H:i");
$fecha = date("d/m/Y");
echo 'Url solicitado: '.$HTTP_SERVER_VARS['HTTP_REFERRER'].''.$url_sol.'<br /> a las '.$hora.' del '.$fecha.'.</p>';
//////////////////////////////////////////////////////////////////////////////////
// Y guardamos los datos del ataque
$query_insertar = "INSERT INTO ataques (ip, modulos_solc, hora, fecha)
VALUES ('$ip_visitante', '$url_sol', '$hora', '$fecha')";
$insertar = mysql_query($query_insertar, $db_conn) or die(mysql_error());
//////////////////////////////////////////////////////////////////////////////////
echo'<p>';listar_modulos();echo '</p>';
cierra_tabla();
}
?>

Añadir que antes de este mensaje en el modulo inactivo se añade un aviso para 2 ataques, despues del cual, si se reitera en el ataque, se restringe el acceso, informando con el include de ataque y por medio de ese die() del index.php .

Bueno, que me decís?, creo que no es muy seguro esto gg, yo no le encuentro fallo pero seguro que lo tiene.

Un saludo y mil gracias de antemano.