Foros del Web » Programando para Internet » PHP »

Banear ip

Estas en el tema de Banear ip en el foro de PHP en Foros del Web. He encontrado este script para banear desde ip: Código: <?php $ip = $_SERVER['REMOTE_ADDR'];?> <?php $ips_baneadas = array('ip del rancio','ip del rancio'); $contador = count($ips_baneadas); for ...
  #1 (permalink)  
Antiguo 21/11/2009, 07:58
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Banear ip

He encontrado este script para banear desde ip:

Código:
<?php $ip = $_SERVER['REMOTE_ADDR'];?>
<?php $ips_baneadas = array('ip del rancio','ip del rancio'); 
$contador = count($ips_baneadas);
for ($i=0; $i<$contador; $i++) { 
if($ip == $ips_baneadas[$i]) { die("Me parto y me troncho. $ip"); } } ?>

pero hay algun modo de añadir las ip desde un formulario con un campo y un boton?
  #2 (permalink)  
Antiguo 21/11/2009, 08:10
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 8 meses
Puntos: 25
Respuesta: Banear ip

Pero eso esta incompleto, de donde lees las ips?
Lo podrias hacer con base de datos, consulta WHERE ip =' $_SERVER[REMOTE_ADDR]'
si el resultado es mayor que 1, no se le mostrara la pagina, tienes varias formas de "banear" redirigiendo o con un die.
  #3 (permalink)  
Antiguo 21/11/2009, 08:13
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Banear ip

mm bueno va por txt asi que se peude modificar la variable desde un input y un boton?

por ejemplo

$baneados = '84.23.261.98,87.72.915.38';


Cada vez que añades una ip desde el formulario se suma a esa variable
  #4 (permalink)  
Antiguo 21/11/2009, 08:14
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Banear ip

almacena las IP en una tabla dela base de datos o en un archivo de texto, luego solo haces una consulta a la db o al archivo (segun sea el caso) y recorres los resultados.

EDITO: no habia leido las otras respuestas :)
  #5 (permalink)  
Antiguo 21/11/2009, 08:25
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Banear ip

el problema es como añado las ip a un archivo de texto desde un formulario?
  #6 (permalink)  
Antiguo 21/11/2009, 08:56
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Banear ip

con fopen() agregandole al final el dato (IP) que hayas recibido desde el formulario.

Código PHP:
<?
$ip
=$_POST['ip'];

$archivo=fopen("ip_baneadas.txt" "a+");
if (
$archivo) {
fputs ($archivo$ip."\n");
}
fclose ($archivo);
?>
de esta forma estarás guardando las ip en una linea distinta ya que le estas agregando un salto de linea \n, si lo prefieres puedes agregarleuna , (coma) o el caracter separador que quieras, menos un punto :)

Saludos

Última edición por Greco2; 21/11/2009 a las 09:05
  #7 (permalink)  
Antiguo 21/11/2009, 11:45
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Banear ip

y como lo pongo, asi?:

<?php $ip = $_SERVER['REMOTE_ADDR'];?>
<?php $ips_baneadas = array('include ("ip_baneadas.txt"););
$contador = count($ips_baneadas);
for ($i=0; $i<$contador; $i++) {
if($ip == $ips_baneadas[$i]) { die("Me parto y me troncho. $ip"); } } ?>

no se como incluir las ip

en el archivo estan asi

ip_baneadas.txt
83.354.16.16',95.472.15.64',
  #8 (permalink)  
Antiguo 21/11/2009, 11:50
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 8 meses
Puntos: 25
Respuesta: Banear ip

Mucho no se pero podria ser un explode o algo asi, como veras hay una "," entre ip e ip, eso es lo que necesitas para separar las ips.
  #9 (permalink)  
Antiguo 21/11/2009, 12:31
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Banear ip

mmm sigo sin saber como incluir las ips en el script.. xD
  #10 (permalink)  
Antiguo 21/11/2009, 12:39
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Banear ip

Busca informacion sobre explode() como te han dicho, y algun tutorial para manejar ficheros con php
  #11 (permalink)  
Antiguo 21/11/2009, 16:21
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Banear ip

puedes usar la funcion file() el cual te crea un array donde cada elemento coresponde a una linea del txt, en el caso de que hayas guardado cada ip en una linea distinta, como aparece en el ejemplo que te puse mas arriba.

Saludos
  #12 (permalink)  
Antiguo 21/11/2009, 16:59
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 8 meses
Puntos: 25
Respuesta: Banear ip

Hazlo con base de datos y explode, sera la forma mas sencilla.
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 14:11.