Advertisement:

Cuando se intente postear una badword, impida poner el mensaje

Aloittaja [D]aRk, kesäkuu 09, 2006, 08:48:21 IP

« edellinen - seuraava »

[D]aRk

SMF Version: SMF 1.0.7
Muy buenas a todos, tengo un SMF versión 1.0.7

Mi problema es el siguiente, hay una serie de bots de spam que entran a mi foro, y ponen un spam diario; mi idea inicial para evitar el spam era poner determinadas palabras clave como censuradas (badword), pero resultó poco útil, pues seguían poniendo el spam, aunque se viera censurado parte del mensaje, de hecho el 95% de los mensajes de spam tenían alguna palabra que definí como badword y la molestia, evidentemente, es la misma, pues tengo que borrar sus mensajes.

Entonces lo que me gustaría es que el SMF si detecta que hay una determinada palabra clave en el momento de poner el mensaje, en vez de permitir poner el mensaje y censurar la badword, impida poner el mensaje de algún modo, con ello se evitarían mis problemas.

Quizás valga de alguna forma, pensando yo, algun código en sources/post.php, que compruebe si el mensaje original tiene alguna palabra definida como badword, para así bloquearla con algún fatal_error o algo así, quizá con algún if de php sobre $_POST['message'] que compruebe si se establece la función de censurar, es la única idea que se me ocurre para aportar, para ver si podéis solucionar mi problema.

Gracias de antemano, este foro es estupendo para aprender :), hacéis una labor excelente :)

[D]aRk

Perdón, he puesto el mensaje en el sitio equivocado o algo? es que lo puse hace dos días y todavía nadie me ha dicho nada

Pedi que me borren

Lo identificaste como bot?

Pone el foro para que escriban solo registrados...
Que se pueda leer, pero que se registren para escribir...
Si se registra...no es un bot  ;)

[D]aRk

Pero es que eso no es lo que yo quiero, es que especificamente lo que si me resolvería el problema es que en vez de censurar la palabra, impida poner el mensaje, así si evitaria el spam y quedaríamos todos felices, pues casi todos los mensajes de spam ponen las mismas palabras clave.

Poner que se registren los usuarios es obligarles a los usuarios a una molestia; la opción de los kapchas también es una molestia, son pocos usuarios y además novatos, pero gracias de todas formas por sugerirlo.

[D]aRk

Bueno, tras ayudarme un amigo de nick iXen, lo conseguimos, os comento la forma, por si a alguien le sirve de ayuda, deberia servir tanto para 1.0.7 como para 1.1 RC2:

Al censurar las palabras desde el panel de administración, ponemos que el reemplazo sean por ejemplo cuatro asteriscos ( **** )

Luego, en Sources/Post.php, buscamos:
make the poll

Y justo encima, pegamos:

if (strstr(censorText($_POST['message']) , '****'))
     fatal_error('Tu mensaje contiene una palabra no permitida.', false);


Esto quiere decir, que si el mensaje, aplicándole la censura, encuentra la palabra definida para reemplazar (en este caso cuatro asteriscos), de un error y no permita publicar el mensaje.

Espero que os sirva de ayuda

Atentamente, [D]aRk

Advertisement: