You are not logged in.

#1 2011-08-06 5:05 am

gshaxor
Member
Registered: 2011-08-06
Posts: 1

Utilizar el API en PHP "super facil".

El siguiente código lo estoy utilizando en mi foro... es HIPER SENCILLO... solamente se utiliza en momento puntuales, por ejemplo, al intentar crear un tema/responder o al intentar registrarse... si la IP se encuentra en "stopforumspam" devuelve TRUE, inmediatamente lo podemos banear por spam smile

// www.gs-zone.org
function stopforumspam(){
    $url = 'http://www.stopforumspam.com/api?ip='.  $_SERVER['REMOTE_ADDR'] .'&f=json';
    $data = @file_get_contents($url);
    $data = json_decode($data);

    if($data->ip->appears AND $_SERVER['REMOTE_ADDR'] != '127.0.0.1'){
        return true;
    } else {
        return false;
    }
}

NOTA: No considera SPAM a 127.0.0.1, para poder probarlo en localhost, aunque este IP sea el de uno de los bots maliciosos!

Espero que les sirva este humilde aporte ^^
Saludos!

Last edited by gshaxor (2011-08-06 5:10 am)

Offline

#2 2011-09-02 12:33 pm

Maikuolan
Member
From: Perth, Western Australia
Registered: 2011-08-09
Posts: 799
Website

Re: Utilizar el API en PHP "super facil".

Si se me permite hacer una sugerencia:

function stopforumspam($ip=$_SERVER['REMOTE_ADDR'])
    {
    $url='http://www.stopforumspam.com/api?ip='.$ip.'&f=json';
    $data=@file_get_contents($url);
    $data=json_decode($data);
    if($data->ip->appears&&$ip!='127.0.0.1')
    return true;
    return false;
    }

Se hace lo mismo, excepto, un poco más limpias (algunas redundancias en el código eliminado - ejecución de la función termina en return, por lo tanto, no requiere declaración else. Además, redujo el código un poco, por ejemplo, el intercambio de "AND" con "&&" [no es necesario, pero, reduce el tamaño de código]).

Finalmente - Reemplazo de REMOTE_ADDR con la variable "$ip" y añadió que como un parámetro de la función opcional (por defecto a REMOTE_ADDR). De esta manera, si usted quiere, puede llamar a la función como lo haría normalmente [ stopforumspam(); ] para obtener el resultado habitual, O, puede especificar una dirección IP alternativa para ver [ como llamando stopforumspam("1.2.3.4"); ].

Estoy usando algo similar (aunque algo diferente) para mi propio CMS (aunque es en la actualidad apagado - pero esa es otra historia). ^.^

Offline

#3 2011-11-17 5:11 am

Papa Parrot
Member
From: Mexico
Registered: 2011-08-19
Posts: 1,826
Website

Re: Utilizar el API en PHP "super facil".

Hola,
¿ Puede ? Explico un poco mas de eso ?,... El problema para mi, es no sabes mucho de PHP,
pero este Funtions, parece, lo que yo busca, ...Lo que no entiendo es, ¿Donde puso el codigo ?
IE: index.php , ¿¿¿ O ???
Gracias, de
Garry

Offline

#4 2011-11-17 5:15 am

Katana
Member
Registered: 2009-08-18
Posts: 1,886

Re: Utilizar el API en PHP "super facil".

Don't forget to urlencode() the data!


うるさいうるさいうるさい!

Offline

#5 2011-11-17 1:05 pm

usuyusu
Member
From: Madrid, Spain
Registered: 2011-09-18
Posts: 82
Website

Re: Utilizar el API en PHP "super facil".

Supongo que esto es porque no estáis con vBulletin no? En vBulletin el API de StopForumSpam ya está integrado en el producto GlowHost Spam-O-Matic y no hace falta introducir código, tan solo los datos correspondientes a la clave API de StopForumSpam (y si quieres de Akismet, también puedes, y así usas los dos sistemas simultáneamente)...

Si me equivoco, me lo decís sin problema.

smile

Last edited by usuyusu (2011-11-17 1:09 pm)


Arturo Garcia

Offline

#6 2011-11-17 3:17 pm

Maikuolan
Member
From: Perth, Western Australia
Registered: 2011-08-09
Posts: 799
Website

Re: Utilizar el API en PHP "super facil".

GarryRicketson wrote:

¿ Puede ? Explico un poco mas de eso ?,... El problema para mi, es no sabes mucho de PHP, pero este Funtions, parece, lo que yo busca, ...Lo que no entiendo es, ¿Donde puso el codigo

Esta es una función php para que coincida IP numera con la SFS database.

Está más enfocado hacia el código savvy, y no destinadas a un sistema específico en particular.

Esto normalmente se acompaña por un código correspondiente a llamar a la función. smile

Offline

#7 2011-11-18 12:29 am

Papa Parrot
Member
From: Mexico
Registered: 2011-08-19
Posts: 1,826
Website

Re: Utilizar el API en PHP "super facil".

Bueno, gracias por los respuestos, yo no es usando , vBulletin , Uso PHPbb3.09, creo si puedo experimentar con este un poco, y  ver que pasa,..
gracias, de
Garry

Offline

#8 2013-06-25 4:15 am

MegaBedder
Member
From: Honduras
Registered: 2013-06-25
Posts: 10

Re: Utilizar el API en PHP "super facil".

Bueno, aqui dejo una modificación del php anterior:

StopForumSpam.class.php

<?php
// Modificado: MegaBedder <MegaBedder@hotmail.com>
function StopForumSpam($ip=false, $email=false){
	if(empty($ip)){
		$ip = $_SERVER['REMOTE_ADDR'];
	}

	if(empty($email)){
		$url = "http://www.stopforumspam.com/api?ip=" . $ip . "&f=json";
	}else{
		$url = "http://www.stopforumspam.com/api?ip=" . $ip . "&email=" . $email . "&f=json";
	}

	$data = file_get_contents($url);
	$json = json_decode($data, true);

	if($json['ip']['appears'] || $json['email']['appears']){ // Añadir "&& $ip != '127.0.0.1'" (Sin Comillas Dobles) si esta usando localhost
		return true;
    }else{
		return false;
	}
}
?>

Ejemplo1.php

<?php
require_once("StopForumSpam.class.php");

if(StopForumSpam()){ // SU IP ACTUAL
	echo "ES SPAMMER";
}else{
	echo "NO ES SPAMMER";
}

var_dump(StopForumSpam()); // BOOL
?>

Ejemplo2.php

<?php
require_once("StopForumSpam.class.php");

if(StopForumSpam("1.2.3.4")){ // Su IP de la base de datos
	echo "ES SPAMMER";
}else{
	echo "NO ES SPAMMER";
}

var_dump(StopForumSpam("1.2.3.4")); // BOOL
?>

Ejemplo3.php

<?php
require_once("StopForumSpam.class.php");

if(StopForumSpam(FALSE, "chenghwang7743@tpte.org")){ // Solo Su Ip Actual con Su Correo
	echo "ES SPAMMER";
}else{
	echo "NO ES SPAMMER";
}

var_dump(StopForumSpam(FALSE, "chenghwang7743@tpte.org")); // BOOL
?>

Ejemplo4.php

<?php
require_once("StopForumSpam.class.php");

if(StopForumSpam("1.2.3.4", "chenghwang7743@tpte.org")){ // Solo Su Ip de la Base de Datos Con su correo
	echo "ES SPAMMER";
}else{
	echo "NO ES SPAMMER";
}

var_dump(StopForumSpam("1.2.3.4", "chenghwang7743@tpte.org")); // BOOL
?>

Espero que les guste big_smile

REF: http://www.stopforumspam.com/forum/viewtopic.php?pid=37225

Last edited by MegaBedder (2013-06-25 4:19 am)

Offline

#9 2013-06-25 5:47 pm

Papa Parrot
Member
From: Mexico
Registered: 2011-08-19
Posts: 1,826
Website

Re: Utilizar el API en PHP "super facil".

Le pregunté pedigrí el administrador del foro para echar un vistazo en el código, esta es la respuesta que obtuve:

Pedigree:
Puede utilizar los archivos de descarga para bloquear el acceso de IPs, pero utilizando el API para bloquear un cliente al servir una página, dará lugar a lo que se bloqueó.

En todos los sentidos, gracias por compartir, estos pueden ser útiles para aquellos que entienden lo suficiente sobre el código y cómo usarlos correctamente,
de garry

Offline

#10 2013-07-04 2:13 am

MegaBedder
Member
From: Honduras
Registered: 2013-06-25
Posts: 10

Re: Utilizar el API en PHP "super facil".

GarryRicketson wrote:

Le pregunté pedigrí el administrador del foro para echar un vistazo en el código, esta es la respuesta que obtuve:

Pedigree:
Puede utilizar los archivos de descarga para bloquear el acceso de IPs, pero utilizando el API para bloquear un cliente al servir una página, dará lugar a lo que se bloqueó.

En todos los sentidos, gracias por compartir, estos pueden ser útiles para aquellos que entienden lo suficiente sobre el código y cómo usarlos correctamente,
de garry

Gracias Garry... smile


Alos demás usuarios les invito mirar mi clase programada en PHP big_smile

CLICK AQUI

Offline

#11 2013-07-06 6:07 pm

Papa Parrot
Member
From: Mexico
Registered: 2011-08-19
Posts: 1,826
Website

Re: Utilizar el API en PHP "super facil".

Gracias por compartir estos, espero te quedas ahí, para ayudar a responder a cualquier pregunta que pueda tener cualquiera de ellos.
  Yo personalmente todavía no he tenido la oportunidad de probar ninguno, pero me mirarlos. Gracias de nuevo

Offline

Board footer

Powered by FluxBB

Close
Close