2007-03-06

Banear una ip con php

A veces se nos mete alguien en nuestra web que nos molesta. Puede ser un usuario molesto o algún robot que nos roba mucho ancho de banda y del que luego no recibimos ni una sola visita. Con php podemos restringir la entrada a las ip que queramos. Colocando el código a continuación al principio de la página que no queréis que vea:


<?php $ip = $_SERVER['REMOTE_ADDR'];

if ($ip =='xxx.xxx.xxx.xxx'){
header("Location: http://www.chupabandas.com/");
}
?>


$_SERVER['REMOTE_ADDR'] nos da la ip del usuario que está viendo la página. Si al compararla con la ip seleccionada coincide, lo mandamos donde queramos...


Obviamente, las facilidades que da el php sólo parece alzanzar el límite con vuestra imaginación y vuestros conocimientos...

3 comentarios:

Pepe dijo...

Gracias por el dato, muy bueno ya lo puse en práctica, saludos.

Nando dijo...

$_SERVER['REMOTE_ADDR'] no es infalible
si el usuario esta detras de un proxy no te da la ip verdadera...
$_SERVER [ 'HTTP_X_FORWARDED_FOR' ] y
$_SERVER['HTTP_CLIENT_IP'] son otras opciones...

Esta sencilla funcion detecta la verdadera ip de un visitante:

function GetIP(){

return (empty($_SERVER['HTTP_CLIENT_IP'])?(empty($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['REMOTE_ADDR']:$_SERVER['HTTP_X_FORWARDED_FOR']):$_SERVER['HTTP_CLIENT_IP']);

}

Avanzaweb dijo...

Gracias por la función la probaré en mis próximos proyectos.