|
Vamos a explicar cómo recuperar una ip de cualquier ordenador que está visitando la página. El sistema de obtención de IPs tiene muchas aplicaciones, desde mostrar al usuario su IP, hasta controlar el voto en cualquier sistema de visualización de noticias como puede ser Menéame o SoulHospital.
Lo que voy a hacer es enseñaros la función que empleo para rescatarla, y como aplicación podemos hacer un denegador de acceso de todas las ips menos la nuestra.
Para empezar tenemos que tener esta función que recupera la IP: function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; }elseif (isset($_SERVER['HTTP_VIA'])) { $ip = $_SERVER['HTTP_VIA']; }elseif (isset($_SERVER['REMOTE_ADDR'])) { $ip = $_SERVER['REMOTE_ADDR']; }else { $ip = "unknown"; } return $ip; } Esta función no es mía, la encontré por google, ahora mismo no me acuerdo de quién era, pero cuando lo encuentre actualizaré el artículo para ponerlo. Esta es la función estrella que nos recuperará la IP. Ahora podemos ir por dos caminos, o restringir el acceso a IPs que tenemos almacenadas en una base de datos, o simplemente restringimos el acceso a una insertada en una variable en php. Optaré por la segunda que es el caso básico, la primera simplemente es hacer un select con la ip recuperada y si el select nos retorna alguna fila restringirle el acceso. Para restringir el acceso: $iprestricted="82.64.230.1"; (es una IP que me he inventado); $ip=getIP(); if ($ip==$iprestricted) { (Ahora podemos redirigir a otra página mediante javascript o simplemente mostrar un error) echo "<script>window.alert('No tiene acceso a esta página');window.open('URL DE NUEVO DESTINO');</script>"; }
Esto lo pondría dentro de una función llamada RestriccionAcceso() y lo colocaría al inicio de la página que queremos restringir.
Esto es un ejemplo de aplicación, la restricción de acceso de páginas mediente IP también se puede hacer colocando un .htaccess en tu servidor.
Voy a poner un ejemplo de imprimir la IP del visitante en una nueva categoría que se llamará "Servicios". |