You are not logged in.
- Topics: Active | Unanswered
Pages: 1
#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
// 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: 800
- 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.
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: 800
- Website
Re: Utilizar el API en PHP "super facil".
¿ 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.
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
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".
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...
Alos demás usuarios les invito mirar mi clase programada en PHP
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
Pages: 1