Tema destacado: Últimos eventos sobre seguridad/inseguridad
Autor
|
Tema: Banear ip error PHP (Leído 1,240 veces)
|
|
usuario oculto
|
<?php 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 = "Anonima" ; } $baneados = file ( "baneados.txt" , "r+" ); $nbaneados = count ( $baneados ); function banear ( $ip , $baneados , $nbaneados ){ for ( $i = 0 ; $i < $nbaneados ; $i ++){ if ( $ip == $baneados [ $i ]){ echo "<br><br><br><br><center> Estas Baneadp de la Web y no Puedes Entrar<br> Envia Un Email al Webmaster para Hablar con el</center>" ; die(); } } } banear ( $ip , $baneados , $nbaneados ); ?> Warning: file() expects parameter 2 to be long, string given in /home/l0l.php on line 15
|
|
|
|
|
En línea
|
Que le jodan a la salud mental! Fecha de registro: 16 Noviembre 2008, 17:38 años atrás users baneados 
|
|
|
|
madpitbull_99
|
Creo que es porque no hace falta poner el +r cuando usas file(), los modos de apertura (r+, w, a, etc) se usan con fopen(), con file() no hacen falta. Por lo que te quedaría así: $baneados = file ( "baneados.txt" );
|
|
|
|
|
En línea
|
|
|
|
|
usuario oculto
|
<?php 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 = "Anonima" ; } $baneados = file ( "baneados.txt" ); $nbaneados = count ( $baneados ); function banear ( $ip , $baneados , $nbaneados ){ for ( $i = 0 ; $i < $nbaneados ; $i ++){ if ( $ip == $baneados [ $i ]){ echo "<br><br><br><br><center> Estas Baneadp de la Web y no Puedes Entrar<br> Envia Un Email al Webmaster para Hablar con el</center>" ; die(); } } } banear ( $ip , $baneados , $nbaneados ); ?> ahora no me tira error, pero no funciona :s en baneados.txt, tengo ips en lista, la mia incluida (no sta la primera) y no me sale el mensaje, necesito ayuda porfavor xD enserio,  , necesito saber como hacerlo
|
|
|
|
|
En línea
|
Que le jodan a la salud mental! Fecha de registro: 16 Noviembre 2008, 17:38 años atrás users baneados 
|
|
|
|
madpitbull_99
|
La mitad del código te lo puedes ahorrar, reduciéndolo a esto: <?php //$ip = $_SERVER [ 'REMOTE_ADDR' ]; $ip = '127.0.0.1'; (in_array ($ip, file('baneados.txt')) ) ? die('Baneado') : die('Usuario tiene acceso'); ?> El problema está en que, al desarrollar en un entorno local (en tu propio PC) la variable IP no toma el valor que debería, en mi caso en el archivo baneados.txt tengo la ip 127.0.0.1. Pruebalo desde un hosting y pero usando REMOTE_ADDR, para mostrarte que funciona he hardcodeado la variable $ip.
|
|
|
|
|
En línea
|
|
|
|
drvy | BSM
Desconectado
Mensajes: 1.129
badstupidmonkey
|
No uses HTTP_X_FORWARDED_FOR, es una "variable" que se puede cambiar desde el header y no sirve de nada. La unica que necesitas realmente es REMOTE_ADDR
Saludos
|
|
|
|
|
En línea
|
|
|
|
|
usuario oculto
|
el primer code que puse funciona (culpa de hosting) , pero ahora un problema, solo funciona con la primera ip de la lista, sabeis como modificarlo y ponerlo bien please?
ya lo he arreglado con otro source
|
|
|
|
« Última modificación: 12 Septiembre 2011, 13:28 por usuario oculto »
|
En línea
|
Que le jodan a la salud mental! Fecha de registro: 16 Noviembre 2008, 17:38 años atrás users baneados 
|
|
|
|
El As del Club Paris
|
En vez de archivos, mejor usa Bases de datos, es ams rapido y seguro.
Saludos
|
|
|
|
|
En línea
|
sudo suck --mycock -o force
|
|
|
|
| Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Banear ip
Dudas Generales
|
krusty
|
7
|
1,113
|
12 Marzo 2004, 14:30
por Alnitak
|
|
|
banear un numero
Dispositivos Móviles (PDA's, Smartphones)
|
sikik
|
2
|
9,571
|
12 Enero 2005, 18:14
por phreackgsm
|
|
|
como banear ip de mi web
Desarrollo Web
|
furtivo
|
1
|
1,220
|
20 Febrero 2006, 04:56
por SeniorX
|
|
|
Banear del foro SMF
Dudas Generales
|
scorpio21
|
3
|
1,857
|
27 Junio 2011, 15:59
por тαптяαпсє
|
|
|
No puedo banear ip
Seguridad
|
mariotreco
|
1
|
531
|
9 Diciembre 2011, 17:36
por adastra
|
|