bueno amigo, te voy a dar algo mas que quizas te ayude a comprobar si funciona bien el script, ademas de saber aque hora te atakan y de donde son, y de donde vienen...
solo sirve si tienes mysql ya que la vamos a usar... atento al temita, que no es poco...
te doy dos formas de bajarlo, lo puedes copiar o lo puedes descargar de esta direccion:
pulsa aqui...
---------------------------------------------------------------------------------
·················· FICHERO: attack.sql
DROP TABLE IF EXISTS `attack`;
CREATE TABLE `attack` (
`id` bigint(255) NOT NULL auto_increment,
`ip` varchar(15) NOT NULL default '000.000.000.000',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`navegador` varchar(255) NOT NULL default '',
`referer` varchar(255) NOT NULL default '',
`idioma` varchar(10) NOT NULL default '',
`valida` varchar(5) NOT NULL default '',
KEY `id` (`id`)
) TYPE=MyISAM;
·················· FICHERO: attack.sql
---------------------------------------------------------------------------------
·················· FICHERO: install.php
Código PHP:
<?php
require("aut_config.inc.php");
echo <<< HTML
<html>
<head>
<title>Attack Install: Sencillo script para bloquear la entra a IP'S no deseadas</title>
</head>
<body bgcolor="#ffffff" link="#0000FF" alink="#0000FF" vlink="#0000FF">
<center><h1>ATENCION: Instalacion de la Base de Datos</h1><hr>
<font face="Verdana" size="2" color="Maroon">Se va a realizar la instalacion de la Base de Datos y sus Tablas.<br>
<font color="Navy">Compruebe que sus datos son correctos antes de pulsar:<br><br>
Nombre del Servidor: <font color="Maroon">$sql_host<br></font>
Nick Usuario Mysql: <font color="Maroon">$sql_usuario<br></font>
Password Usuario Mysql: <font color="Maroon">$sql_pass<br></font>
Nombre de la Base de Datos: <font color="Maroon">$sql_db<br></font>
<br><br>Si los datos son correctos: pulsa <a href="install.php?accion=install">aqui</a><br><br>Si no son correctos configura el fichero <font color="Maroon">aut.config.inc.php</font></center><br><br>
HTML;
if ($accion=="install") {
mysql_connect("$sql_host", "$sql_usuario", "$sql_pass") or die ("Error en la conexion Mysql >>> Configura bien el archivo aut.config.inc.php");
mysql_select_db("$sql_db") or die ("Error en la conexion Mysql >>> Configura bien el archivo aut.config.inc.php");
mysql_query("DROP TABLE IF EXISTS attack");
mysql_query("
CREATE TABLE attack (
`id` bigint(255) NOT NULL auto_increment,
`ip` varchar(15) NOT NULL default '000.000.000.000',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`navegador` varchar(255) NOT NULL default '',
`referer` varchar(255) NOT NULL default '',
`idioma` varchar(10) NOT NULL default '',
`valida` varchar(5) NOT NULL default '',
KEY `id` (`id`)
) TYPE=MyISAM
") or die ("ERROR : tabla no creada");
echo "<b>attack tabla creada</b>...<br>";
echo "<br>Ha sido creada la tabla..No se han encontrado errores<br><br><b><font color=#FF0000>Porfavor, borre ahora el fichero install.php de su servidor !!!</font></b>";
}
echo <<< HTML
</body></html>
HTML;
?>
·················· FICHERO: install.php
---------------------------------------------------------------------------------
·················· FICHERO: aut_attack.inc.php
Código PHP:
<?php
header("Expires: Mon, 26 Jul 2002 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
require ('aut_config.inc.php');
$date = date("Y-m-d H:i:s");
$sysnavegador = $_SERVER[HTTP_USER_AGENT];
$referer = $_SERVER[HTTP_REFERER];
$idioma = $_SERVER[HTTP_ACCEPT_LANGUAGE];
$i=0; // pone el contador del array automatico a 0...
while ($string[$i]) // sacamos las ips del array...
{
if (getenv("HTTP_X_FORWARDED_FOR")) {
$ip_usr = getenv("HTTP_X_FORWARDED_FOR"); // pillamos la ip de la 1º manera... rollo de navegadores...
} else {
$ip_usr = getenv("REMOTE_ADDR"); // 2º si pilla la ip de esta manera es porq la 1º no le ha gustado....jajaja, por eso esta esta otra...
}
if($ip_usr == $string[$i]){ // Comparamos la ip...
$valida = "NO";
mysql_query("INSERT INTO $sql_tabla values('','$ip_usr','$date','$sysnavegador','$referer','$idioma','$valida')") or die($Err01);
mysql_close();
echo "<center>Tu ip no es buena...eres un...."; // si quieres decirle algo... pero no dara tiempo... sera expulsado...
echo "<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"$url_mala\";</SCRIPT>"; // aqui mandas a tu amigo al infierno....
exit;
}
$i++; // no borres esto....
}
$valida = "SI";
mysql_query("INSERT INTO $sql_tabla values('','$ip_usr','$date','$sysnavegador','$referer','$idioma','$valida')") or die($Err01);
mysql_close();
echo "<center>Ok, tu ip es valida<br>los datos han sido almacenados correctamente"; // esta linea la quitas y na... dejas que el script siga su curso...
echo "<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"$url_buena\";</SCRIPT>"; // AQUI LA IP ES BUENA, REDIRECCIONA A TU PAGINA PRINCIPAL
?>
·················· FICHERO: aut_attack.inc.php
---------------------------------------------------------------------------------
·················· FICHERO: aut_view.inc.php
Código PHP:
<?php
require ('aut_config.inc.php');
echo <<< HTML
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
</head>
<body bgcolor="#ffffff">
<div align="center">
<table width="844" border="0" bgcolor="GhostWhite" cellspacing="0" cellpadding="0">
<tr bgcolor="DarkBlue">
<td colspan="7" height="5"></td>
</tr>
<tr>
<td align="center" width="50"><font face="Verdana" size="2">ID</td>
<td align="center" width="100"><font face="Verdana" size="2">IP</td>
<td align="center" width="150"><font face="Verdana" size="2">DATE</td>
<td align="center" width="300"><font face="Verdana" size="2">NAVEGADOR</td>
<td align="center" width="150"><font face="Verdana" size="2">REFERER</td>
<td align="center" width="48"><font face="Verdana" size="2">IDIOMA</td>
<td align="center" width="28"><font face="Verdana" size="2">OK</td>
</tr>
<tr bgcolor="DarkBlue">
<td colspan="7" height="2"></td>
</tr>
</body>
HTML;
$usuario_consulta = mysql_query("SELECT $selecttbl FROM $sql_tabla ORDER BY id DESC") or die("$Err01");
while($resultados = mysql_fetch_array($usuario_consulta)) {
echo <<< HTML
<tr>
<td align="center" width="50"><font face="Verdana" size="1">$resultados[id]</td>
<td align="center" width="100"><font face="Verdana" size="1">$resultados[ip]</td>
<td align="center" width="150"><font face="Verdana" size="1">$resultados[date]</td>
<td align="center" width="300"><font face="Verdana" size="1">$resultados[navegador]</td>
<td align="center" width="150"><font face="Verdana" size="1">$resultados[referer]</td>
<td align="center" width="48"><font face="Verdana" size="1">$resultados[idioma]</td>
<td align="center" width="28"><font face="Verdana" size="1">$resultados[valida]</td>
</tr>
HTML;
}
mysql_free_result($usuario_consulta);
mysql_close();
echo <<< HTML
<tr bgcolor="DarkRed">
<td colspan="7" height="2"></td>
</tr>
<td align="center" colspan="7"><font face="Verdana" size="1"><b><a href="$pag?accion=borrar">BORRAR TODOS LOS REGISTROS</td>
</tr>
<tr bgcolor="DarkRed">
<td colspan="7" height="5"></td>
</tr>
</table>
</div>
</html>
HTML;
if ($_GET['accion']=="borrar"){
require ('aut_config.inc.php');
mysql_query("DELETE FROM $sql_tabla") or die(mysql_error());
mysql_close();
echo "<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"aut_view.inc.php\";</SCRIPT>"; //Aqui llamamos a este mismo fichero.
}
?>
·················· FICHERO: aut_view.inc.php
---------------------------------------------------------------------------------
·················· FICHERO: aut_config.inc.php
Código PHP:
<?php
/*CARGAMOS CONFIGURACION DEL SERVIDOR*/
$sql_host = "localhost"; // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario = "xxxx"; // Usuario de Mysql
$sql_pass = "xxxx"; // contraseña de Mysql
/*CARGAMOS LA BASE DE DATOS*/
$sql_db = "attack"; // Base de datos que se usará el post, haz esta base de datos en tu servidor y luego ejecuta el install.php
/*CARGAMOS LAS TABLAS DE LA BASE DE DATOS*/
$sql_tabla = "attack"; //Nombre de la tabla que contendrá los datos de los usuarios
/*CONECTAMOS CON MYSQL*/
$db_connect = mysql_connect($sql_host,$sql_usuario,$sql_pass);
mysql_select_db($sql_db);
/*CARGAMOS TODOS LOS REGISTROS DE LAS BASES DE DATOS*/
$selecttbl = "id,ip,date,navegador,referer,idioma,valida"; //Campos de Registro Administradores BD
/*CARGAMOS MODULO DE ERRORES*/
$Err01 = "No se pudo realizar la consulta a la Base de datos"; //ERROR MYSQL DE CONEXION: COMPRUEBA SI LOS DATOS DE CONEXION CON TU MYSQL SON CORRECTOS...?
/*CARGAMOS LAS IPS QUE NO QUEREMOS QUE ENTREN EN NUESTRA WEB*/
$string=array ("191.100.100.101","191.200.200.201","191.180.180.181"); //Aqui pones las ips que no quieras...jejeje, sigue el mismo metodo...
/*CARGAMOS LAS DIRECCIONES DE LA PAGINA BUENA Y LA MALA*/
$url_buena = "http://www.yahoo.com"; // A esta web iran los usuarios buenos
$url_mala = "http://www.microsoft.com"; // A esta direccion iran los usuarios malos
?>
·················· FICHERO: aut_config.inc.php