Como restringir el acceso de visitantes de nuestro sitio através de su IP, en PHP

Un código en PHP que nos será muy útil para restringir algunos usuarios, en especial los molestos, o trolls, para que no puedan entrar a nuestro sitio, tomando su dirección IP. Existen 2 listas: en una están las direcciones IP que queremos restringir su acceso y en la otra especificarás un rango de IP‘s a bloquear. Si la IP del usuario está en la lista, el script muestra un mensaje al visitante, y después sale.

<?php
/* Listamos la IPs a bloquear */
$ban_ip_list = array('68.180.206.184', '64.233.167.99', '207.46.232.182');

/* Listamos un rango de IPs. Usamos el comodin '*' para seleccionar un rango de IPs*/
$ban_ip_range = array('69.*.83.197');

/* Obtener dirección IP del visitante */
$user_ip = $_SERVER['REMOTE_ADDR'];

/* Mensaje de salida si el IP del visitante no tiene acceso */
$msg = 'Tu no tienes permiso para acceder a esta página.';

    if(in_array($user_ip, $ban_ip_list))
        {
          exit($msg);
        }

/* Chequeamos su la IP del visitante esta dentro del rango de IPs denegadas*/

if(!empty($ban_ip_range))
{
foreach($ban_ip_range as $range)
{
        $range = str_replace('*','(.*)', $range);

    if(preg_match('/'.$range.'/', $user_ip))
        {
          exit($msg);
        }
}
}

/* De pasar todas las restricciones se le muestra el contenido*/
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE>Bienvenido</TITLE>
 </HEAD>
 <BODY>

  Contenido del sitio.
 </BODY>
</HTML>

Ribosomatic

2 thoughts on “Como restringir el acceso de visitantes de nuestro sitio através de su IP, en PHP

  1. Dario

    Y eso de que sirve con lo facil que es cambiar la IP cuando se te de tu gana, si hasta la direcion MAC se puede cambiar

     
    Reply

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *