Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Importante Bloquear el posteo de usuarios según código de países
#1
Les traigo una modificación para bloquear la creación de nuevos topics y respuestas según el código del país. Por ejemplo "United States" "US".

Para ello, hacen lo siguiente:

Ve al archivo newthread.php y busca:

Código PHP:
if($mybb->input['action'] == "editdraft" || ($mybb->input['savedraft'] && $mybb->input['tid']) || ($mybb->input['tid'] && $mybb->input['pid'])) 

Antes de eso agrega:

Código PHP:
$geoPlugin_array unserializefile_get_contents('http://www.geoplugin.net/php.gp?ip=' $_SERVER['REMOTE_ADDR']) );
$paises = array('P1''P2''P3''P4'); 

Luego busca:

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostthreads'] == || $mybb->user['suspendposting'] == 1

Reemplaza toda esa línea por:

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostthreads'] == || $mybb->user['suspendposting'] == 1||in_array($geoPlugin_array[geoplugin_countryCode], $paises)) 

Con eso no puede crear temas según el país, le saldrá el típico error de problema de permisos, así que no le das pistas de la IP.

Ahora para que no puedan responder te vas al archivo newreply.php y buscas:

Código PHP:
if(isset($mybb->input['replyto'])) 
y antes de eso agregas:

Código PHP:
$geoPlugin_array unserializefile_get_contents('http://www.geoplugin.net/php.gp?ip=' $_SERVER['REMOTE_ADDR']) );
$paises = array('P1''P2''P3''P4'); 

Ahora buscas:

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostreplys'] == || $mybb->user['suspendposting'] == 1

Aparecerá dos veces, en los dos casos lo cambias por:

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostreplys'] == || $mybb->user['suspendposting'] == 1||in_array($geoPlugin_array[geoplugin_countryCode], $paises)) 

Con eso debería de funcionar.

Por cierto, donde dice:

Código PHP:
$paises = array('P1''P2''P3''P4'); 

Cada PX se debe de cambiar por el código del país que desean bloquear.

Lo que me gusta de esta mod es que no le das la pista al spammer de que cambie la IP, que haces que aparezca el típico error de "No tienes permisos para postear en estos foros"

WWW
#2
(05-01-2013, 07:21 PM)Juliens escribió: Les traigo una modificación para bloquear la creación de nuevos topics y respuestas según el código del país. Por ejemplo "United States" "US".

Para ello, hacen lo siguiente:

Ve al archivo newthread.php y busca:

Código PHP:
if($mybb->input['action'] == "editdraft" || ($mybb->input['savedraft'] && $mybb->input['tid']) || ($mybb->input['tid'] && $mybb->input['pid'])) 

Antes de eso agrega:

Código PHP:
$geoPlugin_array unserializefile_get_contents('http://www.geoplugin.net/php.gp?ip=' $_SERVER['REMOTE_ADDR']) );
$paises = array('P1''P2''P3''P4'); 

Luego busca:

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostthreads'] == || $mybb->user['suspendposting'] == 1

Reemplaza toda esa línea por:

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostthreads'] == || $mybb->user['suspendposting'] == 1||in_array($geoPlugin_array[geoplugin_countryCode], $paises)) 

Con eso no puede crear temas según el país, le saldrá el típico error de problema de permisos, así que no le das pistas de la IP.

Ahora para que no puedan responder te vas al archivo newreply.php y buscas:

Código PHP:
if(isset($mybb->input['replyto'])) 
y antes de eso agregas:

Código PHP:
$geoPlugin_array unserializefile_get_contents('http://www.geoplugin.net/php.gp?ip=' $_SERVER['REMOTE_ADDR']) );
$paises = array('P1''P2''P3''P4'); 

Ahora buscas:

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostreplys'] == || $mybb->user['suspendposting'] == 1

Aparecerá dos veces, en los dos casos lo cambias por:

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostreplys'] == || $mybb->user['suspendposting'] == 1||in_array($geoPlugin_array[geoplugin_countryCode], $paises)) 

Con eso debería de funcionar.

Por cierto, donde dice:

Código PHP:
$paises = array('P1''P2''P3''P4'); 

Cada P se debe de cambiar por el código del país que desean bloquear.

Lo que me gusta de esta mod es que no le das la pista al spammer de que cambie la IP, que haces que aparezca el típico error de "No tienes permisos para postear en estos foros"

Una pregunta, donde hay una lista de código de paises para ir implementando? Si bloqueo un país cualquier IP que pueda atacar sería bloqueada de esos paises?
WWW
#3
aqui te dejo una imagen
[Imagen: flags11wm.jpg]
[Imagen: flags21wm.jpg]
WWW
#4
Gracias Por la info.
Juliens
Saludos

Gracias Por la info.Interesante
Juliens
SaludosTímido
#5
Muy buena la info, asi tampoco podran postear los pesados bots!
#6
Código PHP:
if(isset($mybb->input['replyto'])) 

Esa linea a cambiado en la nueva version? pues ahora solo encontré esta o está así:

Código PHP:
if($mybb->input['replyto']) 

tal vez sea por la ultima version y esta linea, solo me salio una vez en el newreply.php

Código PHP:
if($forumpermissions['canview'] == || $forumpermissions['canpostreplys'] == || $mybb->user['suspendposting'] == 1

PD: Gracias, aplicado
#7
(10-05-2013, 03:28 AM)MrLoco escribió:
Código PHP:
if(isset($mybb->input['replyto'])) 

Esa linea a cambiado en la nueva version? pues ahora solo encontré esta o está así:

Código PHP:
if($mybb->input['replyto']) 

Quizá, es muy posible.

Yo ando analizando como hacer eso en plugin, pero no encuentro el hook adecuado en el archivo
WWW
#8
Juliens escribió:Quizá, es muy posible.

Yo ando analizando como hacer eso en plugin, pero no encuentro el hook adecuado en el archivo

Ojala lo logres hacer, seria muy bueno administrable, y asi desde ACP poder elegir y cambiar los países a gusto
#9
Está medio complicado porque no hay hook en la línea en donde lo necesito, pero con todo veré si agregando con otro hook funciona. Pero eso será otro rato que ahora no tengo mucho tiempo.

La primera versión (si logro usar los hooks disponibles) no se podrá administrar desde ACP

En todo caso primero tengo que instalar en localhost xD
WWW
#10
Lo que decía xD

La primera versión del plugin no tendrá opciones para configuraciones desde ACP porque no se como se hace :S

En todo caso, voy a investigar y buscaré la forma de agregarlo para futuras versiones

Sin más, el archivo xD

[attachment=338]

Buscas en el archivo:

Código PHP:
    $paises = array('P1','P2','P2'); 

Y cambias las Px (donde x es el número) por los países que deseas bloquear.

Si quieres agregar mpas países solamente sigues el mismo formato
WWW


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Pasos para personalizar el color de usuarios olegario 2 459 15-03-2016, 10:43 PM
Último mensaje: olegario
  Grupos de Usuarios e Imagen rota redwonderland 3 408 29-09-2015, 12:21 AM
Último mensaje: Dark_Soul
  ¿Plugin de codigo para registrados? fercol 2 291 23-06-2015, 01:56 PM
Último mensaje: fercol
  [AYUDA] Ocultar titulos de usuarios pertenecientes a grupos llProKsll 13 653 30-03-2015, 11:48 PM
Último mensaje: romeho
  [Tutorial] Diferentes estilos según cantidad de posts eNvy 6 489 27-12-2013, 02:41 AM
Último mensaje: eNvy
  Como Bloquear Bots en Mybb igpro 8 1,319 09-11-2013, 01:58 AM
Último mensaje: onekyh
  [Plugin] Bloquear el posteo de usuarios según código de países Juliens 10 948 06-06-2013, 05:47 PM
Último mensaje: DannecraftWTF
  Solucionado: Status de Usuarios Foros Elite 2 709 29-01-2013, 07:20 PM
Último mensaje: Juliens
  Solucionado: No sale la imagen de registro usuarios sebora 7 871 10-01-2013, 05:42 PM
Último mensaje: Dark_Soul
  como poner codigo antibot? laweb 10 1,512 18-12-2012, 03:34 PM
Último mensaje: Steeep



Usuarios navegando en este tema: 1 invitado(s)