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.


Sobre este documento

Este documento está regulado por la licencia EUPL v1.2, publicado en WP SysAdmin y creado por Javier Casares. Por favor, si utilizas este contenido en tu sitio web, tu presentación o cualquier material que distribuyas, recuerda hacer una mención a este sitio o a su autor, y teniendo que poner el material que crees bajo licencia EUPL.