You are not logged in.
- Topics: Active | Unanswered
Pages: 1
#1 2013-06-27 1:19 am
- MegaBedder
- Member
- From: Honduras
- Registered: 2013-06-25
- Posts: 10
API StopForumSpam (SFS) - [PHP] - (No Oficial)
Introducción:
Bueno, aqui dejo una API de conexión a SFS aún no oficial
Descripción:
Esta es una clase desarrollada en PHP que facilita el manejo de las conexiones hacia la API de SFS,
y el resultado generado para una utilización más simple para su obtención y uso.
Nombre: UserSpam.class.php
<?php
// Clase creada por MegaBedder <MegaBedder@HoTMaiL.com>
// Skype: MegaBedder
// ID Perfil de SFS: 44642
// URL de SFS: stopforumspam.com/forum/profile.php?id=44642
// Fecha de Creación: 25/06/2013
// Nota: Se limita el número de peticiones al API a un máximo de 20.000 por día.
// Ejemplo: http://www.stopforumspam.com/api?ip=41.89.49.250&email=chenghwang7743@tpte.org
class UserSpam{
private $api_key = "XXX-XXX-XXX"; // Tú Api Key
function Is($correo=false, $ip=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=" . $correo . "&f=json";
}
$data = file_get_contents($url);
$json = json_decode($data, true);
if($json['success'] === 1){
if($json['ip']['appears'] === 1 || $json['email']['appears'] === 1){
return true;
}else{
return false;
}
}else{
return 0; // NO SUCCESS - INT(0)
}
}
function Add($ip=false, $correo=false, $usuario=false, $evidencia=false){
$api_key = $this->api_key;
if(empty($usuario) || empty($ip) || empty($correo)){
return false;
}
if(empty($evidencia)){
$url = "http://www.stopforumspam.com/add.php?username=" . $usuario . "&ip_addr=" . $ip . "&email=" . $correo . "&api_key=" . $api_key;
}else{
$url = "http://www.stopforumspam.com/add.php?username=" . $usuario . "&ip_addr=" . $ip . "&evidence=" . $evidencia . "&email=" . $correo . "&api_key=" . $api_key;
}
$data = file_get_contents($url);
if(preg_match("/could not validate api key/", $data)) {
return "err_api_key";
}
if(preg_match("/data submitted successfully/", $data)){
return true;
}else{
return false;
}
}
}
?>
Nombre: Ejemplo.php
<?php
// Clase creada por MegaBedder <MegaBedder@HoTMaiL.com>
// Skype: MegaBedder
// ID Perfil de SFS: 44642
// URL de SFS: stopforumspam.com/forum/profile.php?id=44642
// Fecha de Creación: 25/06/2013
// Nota: Se limita el número de peticiones al API a un máximo de 20.000 por día.
// Ejemplo: http://www.stopforumspam.com/api?ip=41.89.49.250&email=chenghwang7743@tpte.org
/*
require_once("UserSpam.class.php");
$UserSpam = new UserSpam();
$User_Spam['IS'] = $UserSpam->Is($correo, $ip); // Correo (Requerido), IP (Opcional)
$User_Spam['ADD'] = $UserSpam->Add($ip, $correo, $usuario, $evidencia); // IP (Requerido), Correo (Requerido), Usuario (Requerido), Evidencia (Opcional)
print("<pre>\r\n");
print("<b>UserSpam(IS)</b>: <br />\n");
if($User_Spam['IS']){
echo "RETURN TRUE <br /><br />\n";
var_dump($User_Spam['IS']); // TRUE
}else{
echo "RETURN FALSE <br /><br />\n";
var_dump($User_Spam['IS']); // FALSE
}
print("<br />\r\n");
print("<b>UserSpam(ADD)</b>: <br />\n");
if($User_Spam['ADD']){
echo "RETURN TRUE || err_api_key <br /><br />\n";
var_dump($User_Spam['ADD']); // TRUE
}else{
echo "RETURN FALSE <br /><br />\n";
var_dump($User_Spam['ADD']); // FALSE
}
print("</pre>\n");
?>
Nota:
El ejemplo solo representa los datos más relevantes para su aplicación, y si necesita más ayuda ó informacion acudase a esta dirección URL [http://www.stopforumspam.com/forum/viewtopic.php?pid=37259]. Y el ejemplo esta creado para que usted mismo verifique los datos enviados y recividos de ellos. Y editar el api_key del archivo UserSpam.class.php para añadir tu lista de spammer. Y cabe mencionar que si hace interacción con los datos de su base de datos se deberian usar un filtro como: mysql_real_escape_string para MySQL y mysqli_real_escape_string para MySQLi ó dependiendo que motor de base de datos emplean.
Agradecimientos:
A SFS por brindar el API pero con limitaciones de 20.000 Peticiones por día.
A GarryRicketson por responder mi primer tema
Referencias:
http://www.stopforumspam.com/forum/viewtopic.php?pid=37259 - Tema de referencia con el que fue desarrollado esta clase.
StopForumSpam.Com/usage - Uso del API Oficial de Stop Forum Spam.
Last edited by MegaBedder (2013-06-27 1:32 am)
Offline
Pages: 1