Foros del Web » Programando para Internet » PHP »

Banear una IP de mi web PHP/Mysql??

Estas en el tema de Banear una IP de mi web PHP/Mysql?? en el foro de PHP en Foros del Web. Buenas.. Bueno, tengo una web de esas típicas de likes (frases donde los usuarios hacen clic en el botón Me Gusta y se publican el ...
  #1 (permalink)  
Antiguo 17/10/2010, 06:04
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta Banear una IP de mi web PHP/Mysql??

Buenas..
Bueno, tengo una web de esas típicas de likes (frases donde los usuarios hacen clic en el botón Me Gusta y se publican el perfil de FACEBOOK de ese usuario..).

El problema es que hay un usuario que publica frases haciendo spam o insultand a todo el mundo y me hace perder visitas porque la gente no quiere ver esas frases en la web.. xD..

Entonces lo que quiero es impedir que ese usuario, del que no se su IP, no pueda acceder a mi pagina de frases y así tampoco las podrá crear...

La web está hecha básicamente en php y utiliza divs. Tiene una base de datos mysql donde se publican las frases que se crean y creo que ya está..

Bueno pues la pregunta es: ¿Como puedo ''banear'' o impedir que entre esa IP o usuario en mi web?

Espero una respuesta.. y les dejo la web por si tienen que ver como está hecha o lo que sea.. http://www.notewall.tk/ (Si no se puede poner aquí, que los moderadores lo quiten.. y perdon entonces..)

PD: Actualmente no se pueden crear frases para que el usuario ese no ponga chorradas y estoy perdiendo visitas porque los users no pueden tampoco crear frases.. xDD..

Bueno, haber si alguien me ayuda..

Un saludo.
  #2 (permalink)  
Antiguo 17/10/2010, 06:43
Avatar de 3nr1c  
Fecha de Ingreso: septiembre-2010
Ubicación: Barcelona
Mensajes: 407
Antigüedad: 10 años, 8 meses
Puntos: 50
Respuesta: Banear una IP de mi web PHP/Mysql??

Sólo puedes hacerlo por ip [creo] a menos que:
-sólo usuarios registrados puedan publicar frases
-si fuera así, tendrías que conocer su email
Además, las ip pueden ser variables...
  #3 (permalink)  
Antiguo 17/10/2010, 07:51
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 14 años
Puntos: 1567
Respuesta: Banear una IP de mi web PHP/Mysql??

blogdv:

Filtrar por IP, no te va a servir, como te han dicho, la ip puede ser dinámica, obligar a registrarse como lo señalo 3nr1c, puede ser una opción, pero puede desalentar a algunos.
Podrías hacer tambien una lista de palabras (imaginate cuales), a banear.


saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 17/10/2010, 08:18
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Banear una IP de mi web PHP/Mysql??

emprear, creo que lo que dices de las palabras sería una buena idea..

Supongo que te refieres a ''censurar'' determinadas palabras cuando se crean las frases..
Pues me gusta la idea.. pero me podrias explicar o quien lo sepa como puedo entonces hacer que en mi web, cuando pongan determinadas palabras, como por ejemplo: ca***n o la palabra que sea.. xDD pues que no deje enviar la frase.. osea, lo que entonces me gustaria conseguir es que si un usuario pone una palabra indebida, que no se publique esa frase, porque perderia visitas si las frases fueran por ej: eres un hijo de p**a.. xDD o lo que sea..
Entonces querría saber como puedo hacer para cuando un user cree una frase con una palabra ''censurada'', directamente no se publique dicha frase..

Espero haberme explicado..
Gracias por la ayuda..
  #5 (permalink)  
Antiguo 17/10/2010, 09:10
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 10 años, 10 meses
Puntos: 202
Respuesta: Banear una IP de mi web PHP/Mysql??

Cita:
Iniciado por blogdv Ver Mensaje
emprear, creo que lo que dices de las palabras sería una buena idea..

Supongo que te refieres a ''censurar'' determinadas palabras cuando se crean las frases..
Pues me gusta la idea.. pero me podrias explicar o quien lo sepa como puedo entonces hacer que en mi web, cuando pongan determinadas palabras, como por ejemplo: ca***n o la palabra que sea.. xDD pues que no deje enviar la frase.. osea, lo que entonces me gustaria conseguir es que si un usuario pone una palabra indebida, que no se publique esa frase, porque perderia visitas si las frases fueran por ej: eres un hijo de p**a.. xDD o lo que sea..
Entonces querría saber como puedo hacer para cuando un user cree una frase con una palabra ''censurada'', directamente no se publique dicha frase..

Espero haberme explicado..
Gracias por la ayuda..
Hace tiempo tuve que hacer esto en un foro. Quizás algo así pueda ayudarte.
Código PHP:
//Comentario
echo $comentario='esta palabra debe ser sensurada --> malapalabra1 <br />';

$censurado file('malaspalabras.txt'); // Abre el archivo con las palabras a sensurar.

echo $comentario preg_replace('/(' implode('|'$censurado) . ')/sie'"str_repeat('*', strlen('\\0'));"$comentario); 
En el malaspalabras.txt añades las la palabras que quieras omitir de esta forma.

malapalabra1|
malapalabra2|
malapalabra3|

Cada caracter de la palabra que se quita se añade un *. Puedes cambiarlo por otra cosa.
Esto es una base, no todo el código. Faltarían los trim, el tema de las tildes, evaluar que no entren las palabras usando p.e: cabr%oacute;n u otros caracteres desde html, el tema de que sirva tanto para palabras mayúsculas como minúsculas... Pero como ves es lo de siempre. trim, str_replace, strlow, etc etc.

Un saludo.
  #6 (permalink)  
Antiguo 17/10/2010, 09:13
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Banear una IP de mi web PHP/Mysql??

Cita:
Iniciado por IEKK Ver Mensaje
Hace tiempo tuve que hacer esto en un foro. Quizás algo así pueda ayudarte.
Código PHP:
//Comentario
echo $comentario='esta palabra debe ser sensurada --> malapalabra1 <br />';

$censurado file('malaspalabras.txt'); // Abre el archivo con las palabras a sensurar.

echo $comentario preg_replace('/(' implode('|'$censurado) . ')/sie'"str_repeat('*', strlen('\\0'));"$comentario); 
En el malaspalabras.txt añades las la palabras que quieras omitir de esta forma.

malapalabra1|
malapalabra2|
malapalabra3|

Esto es una base, no todo el código. Faltarían los trim, el tema de las tildes, evaluar que no entren las palabras usando p.e: cabr%oacute;n u otros caracteres desde html, el tema de que sirva tanto para palabras mayúsculas como minúsculas... Pero como ves es lo de siempre. trim, str_replace, strlow, etc etc.

Un saludo.
Gracias.. pero he probado y no lo he conseguido..
Supongo que no funcionará ese código en el de mi web..
  #7 (permalink)  
Antiguo 17/10/2010, 09:19
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 10 años, 10 meses
Puntos: 202
Respuesta: Banear una IP de mi web PHP/Mysql??

Cita:
Iniciado por blogdv Ver Mensaje
Gracias.. pero he probado y no lo he conseguido..
Supongo que no funcionará ese código en el de mi web..
Pues eso funciona perfectamente. ¿Has creado el archivo con las palabras a sensurar? Mmmm

Se imprime esto:

esta palabra debe ser sensurada --> malapalabra1
esta palabra debe ser sensurada --> ************

Has preguntado en el foro de php, así que supongo sabes que hacer con ese código y que lo estás usando. Repito eso funciona. Sólo debes adaptarlo a tu página.
  #8 (permalink)  
Antiguo 17/10/2010, 09:22
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Banear una IP de mi web PHP/Mysql??

si lo he probado y he creado el archivo malaspalabras.txt .. voy a mirar otra vez haber y digo algo.. Gracias.
  #9 (permalink)  
Antiguo 17/10/2010, 09:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 14 años
Puntos: 1567
Respuesta: Banear una IP de mi web PHP/Mysql??

blogdv:
Por respeto al foro, hice una lista de palabras agradable...
Hay dos métodos, el primero reemplaza y el segundo, anula el comentario. Tendrás que adaptarlo apara que haga una cosa o la otra.

banear.php

Código PHP:
Ver original
  1. <?php
  2. $comentario1 = "La alegría del amor me da mucha belleza";
  3. $comentario2 = "La granalegría que tengo por nuestro amor es una belleza";
  4.  
  5.  
  6. $archivo_palabras = "palabras.txt";
  7. $fop = fopen( $archivo_palabras, 'r' );
  8. $lista_palabras = fread( $fop, filesize($archivo_palabras) );
  9. fclose( $fop );
  10. // linea a linea.
  11. $palabras = explode ( "\n", $lista_palabras );
  12.  
  13.  
  14. foreach ($palabras as $sucia)
  15. {
  16. $comentario1 = eregi_replace($sucia, "#[email protected]%*#", $comentario1);
  17. }
  18.  
  19. echo "<b>Método 1 - Reemplazo de caracteres</b><br />";
  20. echo "$comentario1 <br />";
  21.  
  22. echo "<br /><hr /><br /><b>Método 2 - Anular comentario</b><br />";
  23. foreach ($palabras as $sucia){
  24. if(eregi($sucia, $comentario2)){
  25. $coincidencia= 1;
  26. }
  27. } #### cierre 2º foreach()
  28.  
  29. if($coincidencia == 1){
  30. // incluir codigo para que no registre en la BD
  31. echo "Palabra no permitida";
  32. }else{
  33. // registrar en la bd
  34. echo "Comentario aprobado";
  35. }
  36.  
  37. ?>

Y en tu palabras.txt (una palabra por linea

amor
belleza
alegría



demo:
http://foros.emprear.com/php/banear/banear.php


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #10 (permalink)  
Antiguo 17/10/2010, 09:29
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Banear una IP de mi web PHP/Mysql??

el código donde tengo que ponerlo? en el index.php? en que parte?

Gracias y espero no ser pesado pero esque soy un poco torpe..
  #11 (permalink)  
Antiguo 17/10/2010, 09:41
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 14 años
Puntos: 1567
Respuesta: Banear una IP de mi web PHP/Mysql??

blogdv:
quien hizo la página
http://www.notewall.tk/

y como ponias los comentarios hasta ahora?

hasta aqui te puedo ayudar, pero más, significaría tener que tener acceso a tu web y al sistema, no tengo tiempo para eso.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #12 (permalink)  
Antiguo 17/10/2010, 09:43
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Banear una IP de mi web PHP/Mysql??

la web es mia.. si quieres te puedo enviar el codigo que tiene por privado haber si sabes como puedo solucionarlo..

Gracias
  #13 (permalink)  
Antiguo 17/10/2010, 09:44
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 10 años, 10 meses
Puntos: 202
Respuesta: Banear una IP de mi web PHP/Mysql??

Cita:
Iniciado por blogdv Ver Mensaje
el código donde tengo que ponerlo? en el index.php? en que parte?

Gracias y espero no ser pesado pero esque soy un poco torpe..
Haber empezado por decir que no sabes php, porque todos los ejemplos dados son correctos.
Lo tienes que poner en la página donde envies el comentario, y si aún así no sabes, php.net !!

Un saludo y suerte :)

Etiquetas: ip, php-mysql
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 15:23.