Foros del Web » Programando para Internet » PHP »

Bloquear el acceso a una Web a una lista de IP

Estas en el tema de Bloquear el acceso a una Web a una lista de IP en el foro de PHP en Foros del Web. Tengo un problema y necesito ayuda urgente, en la Web que estamos haciendo un amigo y yo, están molestando en la Web y el chat ...
  #1 (permalink)  
Antiguo 09/01/2010, 07:08
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Bloquear el acceso a una Web a una lista de IP

Tengo un problema y necesito ayuda urgente, en la Web que estamos haciendo un amigo y yo, están molestando en la Web y el chat unas personas, e buscado para denegarles el acceso, y encontré esto:

Código php (devolverIP.php)
Código PHP:
<?
  Header
("content-type: application/x-javascript");
  
$IP=$_SERVER['REMOTE_ADDR'];
  
$salida 'var laIP = "' $IP '";';
  echo 
$salida;
?>
y ésto otro se pone en el código HTML de la Web:

Código HTML Javascript ()
Código HTML:
<script src='URL_MI_SERVIDOR/devolverIP.php' type='text/javascript'></script>
<script type="text/javascript">
//<![CDATA[  var lista_IPs = new Array();
  // aquí ponemos la lista de IPs escritas de manera completa o parcial
  lista_IPs[0] = '194.8.74';
  lista_IPs[1] = '194.8.75';
  lista_IPs[2] = '91.214.44.228';
  lista_IPs[3] = '76.31.76.20';
  // ahora, comparamos esa lista con la IP detectada
  for(var i=0; i < lista_IPs.length; i++) {
    eval('var verificar = /^' + lista_IPs[i] + '/ ;');
    if (verificar.test(laIP)) {
      // y si está en la lista hacemos algo, por ejemplo
      // alert('LA IP FUE RECONOCIDA'); // una ventana de alerta
      // history.go(-1); // o lo enviamos por donde vino
      // window.location.replace("http://www. sitio web .com") // o lo mandamos a otro sitio cualquiera
      break;
    }
  }
//]]>
</script> 
Pero lo pongo y no funciona, además, la IP que pone según el archivo "devolverIP.php" no es la IP real, y sigue sin funcionar, y siguen molestando, por favor necesito ayuda, y mi servidor no me permite editar el archivo ".htaccess" por favor ayudenme.

Los códigos que puse los encontré tal cual en internet, excepto por la parte donde pone "www. sitio web .com", que lo puse para no hacer spam.
Necesito ayuda urgente.
Gracias.
  #2 (permalink)  
Antiguo 09/01/2010, 07:22
Avatar de JinSunMi  
Fecha de Ingreso: octubre-2006
Ubicación: Lima
Mensajes: 101
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

quizas el problema para ti sea que los atacantes tengan IP dinamica o sea cada vez que se conectan su IP cambia, es nueva y la que tu bloqueas ya no es usada
__________________
Veterinaria por pasión, webmaster por placer
  #3 (permalink)  
Antiguo 09/01/2010, 07:27
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

No, si antes de poner sus IP, pruebo con la mia, para saber si funciona, y he mirado mi IP, y no coincide con la que ese archivo php me pone, aun asi, puse las 2 IP, y me permite entrar igualmente, por eso pido ayuda, la web esta hecha en html, y tengo servidor propio, si se necesitan varios archivos, no es problema, pero necesito poder bloquear una lista de IP, no solo una, y necesito hacerlo cuanto antes, gracias a todos por adelantado.
  #4 (permalink)  
Antiguo 09/01/2010, 14:36
 
Fecha de Ingreso: enero-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

Bueno, Dave... la forma mas propia seria usar PHP puro para hacer
esta operacion...

ejemplo :

Código:
<?php
$ip = $_SERVER['REMOTE_ADDR'];

$ip_list = array("91.214.44.228","76.31.76.20");

for($i=0;$i < count($ip_list);$i++){
	if($ip_list[$i] == $ip){
	exit;
	}
}

?>
save that file as : ip_check.php
and at the start of each file in your server add :

Código:
<?php
include("ip_check.php");
?>
remember it should be at the begin or else the page will load
before the check is executed, i guess that's the problem with your
javascript solution.
  #5 (permalink)  
Antiguo 09/01/2010, 14:54
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
muevo al foro de php, esto no tiene nada que ver con html
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #6 (permalink)  
Antiguo 10/01/2010, 03:17
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

El problema es que mi servidor no es para php, es para html, por eso puse el código de arriba, porque se integra dentro de un html, de ahí, que el tema lo pusiera en html, y no en php, lo que necesito es un código, que me permita bloquear una lista de IP, o rangos de IP, y que se pueda integrar ese código en las páginas de la Web, que yo desee, puesto que hay varias, que ahún no están preparadas.
Gracias de antemano.
  #7 (permalink)  
Antiguo 11/01/2010, 10:20
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Bloquear el acceso a una Web a una lista de IP

¿En que plataforma (OS) corre tu servidor? ¿Que servidor web utilizas?
__________________
I see dead pixels
  #8 (permalink)  
Antiguo 11/01/2010, 12:09
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

El hosting lo tenemos con zymic, es gratis, y la web esta hecha en html, por eso necesito un codigo que se pueda incluir dentro de un html, tipo javascript (como el que puse al principio), o cualquier otro tipo que funcione, pero el problema es que ese servidor de hosting, me da una ip diferente a la que tengo, por eso creo que no funciona, si se os acurre algo, por favor ayudadme.
Gracias y saludos.
  #9 (permalink)  
Antiguo 11/01/2010, 12:15
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Bloquear el acceso a una Web a una lista de IP

Bueno lo que preguntaba es que tipo de servidor web utilizas (apache, lighthttpd, IIS, etc.).

Investigando en la pagina veo que utilizan apache. Investiga como bloquear IP's mediante .htaccess,
__________________
I see dead pixels
  #10 (permalink)  
Antiguo 11/01/2010, 12:19
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

Para subir archivos y modificar el servidor en general, utilizo filezilla, y por más que lo he intentado, no aparece ese archivo, ya probé con la opción de forzar mostrar archivos ocultos, y sigue sin aparecer, por eso pido algún código que funcione y que pueda integrar con el html de la web.
Gracias y saludos.
  #11 (permalink)  
Antiguo 11/01/2010, 12:24
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Bloquear el acceso a una Web a una lista de IP

Si no aparece obviamente no existe. Es tan simple como crear un archivo en tu computadora, pones las directivas que quieras agregar, lo subes a la raiz del sitio y lo renombras.
__________________
I see dead pixels
  #12 (permalink)  
Antiguo 11/01/2010, 12:26
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

Ya lo probé, y me dice exactamente esto: Failed - destination file already exists
Según parece el archivo ya existe, pero no aparece, asique no lo puedo editar, ni tampoco borrar, por eso busco algo que funcione para el html de la web.
Gracias y saludos.
  #13 (permalink)  
Antiguo 11/01/2010, 12:26
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Bloquear el acceso a una Web a una lista de IP

Otra cuestion.

HTML (Hyper Text Markup Language) es un lenguaje de marcado. No es un lenguaje de programación.
Javascript es un lenguaje que se ejecuta del lado del cliente, por lo tanto el script para bloquear por IP estaria vulnerable a ataques porque podria ser visto por cualquier persona que navegue por el codigo de tu web.
__________________
I see dead pixels
  #14 (permalink)  
Antiguo 11/01/2010, 12:28
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

¿Entonces cómo se puede hacer para bloquear IP?
Yo necesito algo que se pueda integrar en el código html de la web, tal cual, o encriptado, he visto que se puede encriptar, ¿se te ocurre algo que funcione?
Gracias y saludos.
  #15 (permalink)  
Antiguo 11/01/2010, 12:33
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Bloquear el acceso a una Web a una lista de IP

Otro problema que surge al utilizar javascript es que si el usuario desactiva en su navegador la ejecucion de javascript el script obviamente no se ejecutara y perderias la "proteccion", aunque este ofuscado ("encriptado") el codigo.

Tienes 2 opciones:

1. Contactar a servicio tecnico y preguntar sobre como editar directivas en el htaccess.
2. Hacerlo con php (tu servidor tiene php instalado).
__________________
I see dead pixels
  #16 (permalink)  
Antiguo 11/01/2010, 12:36
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

¿Y cómo sería con ambas?
Yo sé html, no se php, ni se como se modifica el ".htaccess".
Gracias y saludos.
  #17 (permalink)  
Antiguo 11/01/2010, 15:17
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Bloquear el acceso a una Web a una lista de IP

Cita:
Iniciado por DaveRich Ver Mensaje
¿Y cómo sería con ambas?
Yo sé html, no se php, ni se como se modifica el ".htaccess".
Gracias y saludos.
Te acaban de dar un ejemplo de como hacerlo lineas arriba, lo que tienes que hacer es implementar el ejemplo que te dieron y en lugar de grabar los archivos como html, grabalos como php.

Intentalo, cualquier cosa nos dices y vemos como ayudarte.
__________________
http://exegesis-biblica.com/
  #18 (permalink)  
Antiguo 12/01/2010, 10:15
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

Yo decía que cómo es de ambas formas, con php, y con ".htaccess", con php está más arriba, pero de la otra forma no, gracias a todos, lo puse con php y me funciona bien.
lo raro es que la web es html y funciona el archivo en php, pero mientras funcione...
Gracias y saludos.
  #19 (permalink)  
Antiguo 12/01/2010, 10:34
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Bloquear el acceso a una Web a una lista de IP

Hola DaveRich, cómo vamos?

Cita:
lo raro es que la web es html y funciona el archivo en php, pero mientras funcione...
Es porque tu server soporta php. Quizás como tu web estaba sólo basada en html no te habías percatado...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #20 (permalink)  
Antiguo 12/01/2010, 12:06
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Bloquear el acceso a una Web a una lista de IP

Eso parece, muchas gracias a todos, esto ya está solucionado, si algún moderador quiere cerrar el tema...
Gracias de verdad a todos/as.

Etiquetas: bloquear, ip, lista
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:37.