Denegar acceso por IP a nuestra web usando PHP

Este es un script muy útil si deseamos que ciertos usuarios no accedan a nuestra web, basándonos en su dirección IP. Existen 2 lista que se puede usar: en una están las direcciones IP que deseamos bloquear su acceso y en la otra lista especificamos un rango de IP’s a bloquear. Si la IP del visitante está en la lista, el script muestra un mensaje al usuario, y luego 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>

Vía Bit Repository

3 thoughts on “Denegar acceso por IP a nuestra web usando PHP

  1. Debes colocar un condicional que sea asi
    Si la ip es diferente a la que escojes entonces que les mande mensaje de error mira te muestro el codigo
    if(isset($_SERVER[“HTTP_X_FORWARDED_FOR”])){
    $proxy=$_SERVER[“REMOTE_ADDR”];
    $ip_real=$_SERVER[“HTTP_X_FORWARDED_FOR”];
    }else{
    $ip_real=$_SERVER[“REMOTE_ADDR”];
    }
    if(!$ip_real==”127.0.0.1″ || !$ip_real==”192.168.1.1″)
    {
    echo “No estas autorizado para entrar”;
    exit;
    }
    else
    {
    echo “Contenido exclusivo xD”;
    }
    en la que dice la direccion IP 127.0.0.1 le colocas la del que quieres que entre y en el otro que dice 192.168.1.1 igualmente la otra IP y si quieres agregar mas le pones las barras || despues de terminar el string de la ip

Leave a Reply

Your email address will not be published. Required fields are marked *

Proudly powered by WordPress | Theme: Wanderz Blog by Crimson Themes.