Bloqueo de IP maliciosas por .htaccess

Una de las mejores formas de bloquear tráfico indeseado de máquinas y robots o de elementos maliciosos es directamente desde el servidor web. Por eso, si usas Apache HTTPD o algún otro servidor web que soporte .htaccess, seguro que este sistema te va a interesar.

La gente de myip.ms ha lanzado script que puede ayudarte a ampliar tu .htaccess con su lista de IP que tiene en blacklist.

Básicamente el software es el siguiente:

<?php
$separator = "## BLACKLIST IP AUTO ADDED ##";
//
$data_bl = @file_get_contents("http://myip.ms/files/blacklist/htaccess/latest_blacklist.txt");
if ($data_bl === false || !$data_bl) die ();
if (stripos($data_bl, "# Copyright")) $data_bl = substr($data_bl, 0, strripos($data_bl, "# Copyright")) . substr($data_bl, strripos($data_bl, "##############")+16);
//
$data_blu = @file_get_contents("http://myip.ms/files/blacklist/htaccess/latest_blacklist_users_submitted.txt");
if ($data_blu === false || !$data_blu) die ();
$data_blu = substr($data_blu, strripos($data_blu, "##############"));
//
$htaccess = @file_get_contents(rtrim($_SERVER['DOCUMENT_ROOT'], "/ ")."/.htaccess");
if ($htaccess === false) die ();
$htaccess = trim($htaccess);
//
if (stripos($htaccess, $separator) !== false) $htaccess = trim(substr($htaccess, 0, stripos($htaccess, $separator)));
$htaccess .= "\n\n\n" . $separator . "\n\n" . $data_bl . "\n\n" . $data_blu;
$htaccess = trim($htaccess) . "\n";
//
@file_put_contents(rtrim($_SERVER['DOCUMENT_ROOT'], "/ ")."/.htaccess", $htaccess);

Recuerda que deberás añadir este PHP dentro de un cron que se deberá ejecutar de forma diaria.

Deja un comentario