You are not logged in.

#1 2013-06-25 3:25 am

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

Como uso la API para un sitio web NO FORO

Como trato de expresar en el titulo "Como uso la API para un sitio web NO FORO".

Estoy creando una pagina web que quiero hacerla un poco mas segura que las demás y trato de mejorar todos sus aspectos de seguridad. Ya que me intereza ello y lo cual encontre esta pagina que ofrece un API. Y queria que me mostrasen codigos PHP. De como extraer los datos.

Por ahora tengo esto:

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
?>

En realidad no me intereza que este en JSOn

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

Offline

#2 2013-06-25 5:45 pm

Papa Parrot
Moderator
From: Mexico
Registered: 2011-08-19
Posts: 1,823
Website

Re: Como uso la API para un sitio web NO FORO

Gracias , para compartir esos,..

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 modos 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

#3 2013-06-26 5:37 am

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

Re: Como uso la API para un sitio web NO FORO

GarryRicketson wrote:

Gracias , para compartir esos,..

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


Entiendo lo que tratas de expresar, pero creo que no entiende bien el codigo que publique, porque si se pone una ip (De la Base de Datos) osea que busque la IP en la DB.

Por ejemplo:

$usuario = $_COOKIE['usuario']; // O USAR SESSION
$IP_db = DB_QUERY("SELECT IP WHERE usuario=$usuario"); // Función inventada ;)

if(StopForumSpam($IP_db)){
	echo "ES SPAMMER";
}else{
	echo "NO ES SPAMMER";
}

Lo que hace que cuando inicie session o se registre o realice alguna acción pueda verificar si esta en la base de datos. Para poder bannearlo o kikearlo (Bannearlo por un tiempo según su reputacion) del sitio si es que esta registrado, y si se quiere registrar que salga que se le niega su registro y si quiere enrealidad registrarse mandarle un mensaje al administrador. Ya que yo lo pondre en mi panel de control si quiero activar esa funcion smile

Por ejemplo:

if(StopForumSpam($_SERVER['REMOTE_ADDR'])){
	echo "ES SPAMMER";
}else{
	echo "NO ES SPAMMER";
}

Eso verifica si la IP Actual (La de su computadora) esta en la base de datos!

No se si aún no me explico.

<-- Edito --!>
Y como es ovio el correo se busca en la base de datos y si esta PUFF! creo que seria mas recomendable que determinara por el correo que con la IP.

No se si eso es lo que el queria tratar de decir, que yo no habia comentado. tongue

Last edited by MegaBedder (2013-06-26 5:43 am)

Offline

#4 2013-06-26 12:09 pm

Papa Parrot
Moderator
From: Mexico
Registered: 2011-08-19
Posts: 1,823
Website

Re: Como uso la API para un sitio web NO FORO

No, no es eso, parece lo que he publicado en mi respuesta, donde cito Pedigree,

Cuando traduje su respuesta, he cometido un error, en lo que él comentó.
Lo siento,
  Lo que él dijo es que está bien usar esto para obtener los datos, de la API, pero si alguien quería presentar y reportar un spammer a la API, entonces ellos tendrían alguna información adicional, ... Espero que me entiendas, de nuevo lo siento, yo no lo cita, correctamente.

Usted tiene razón, yo no entiendo qué es exactamente lo que hace el código muy bien. Por eso le pregunté al respecto. Además ahora con su explicación de que es mejor.
Mas tarde platicamos, mas, ahora tengo que ir a mi trabajo,...

Offline

#5 2013-06-26 1:31 pm

pedigree
uıɐbɐ ʎɐqǝ ɯoɹɟ pɹɐoqʎǝʞ ɐ buıʎnq ɹǝʌǝu ɯ,ı
From: New Zealand
Registered: 2008-04-16
Posts: 6,841

Re: Como uso la API para un sitio web NO FORO

$usuario = $_COOKIE['usuario']; // O USAR SESSION
$IP_db = DB_QUERY("SELECT IP WHERE usuario=$usuario"); // Función inventada ;)

Is open to exploit by changing the cookie on the machine.  the $usuario variable needs to be escaped correctly first.

Offline

#6 2013-06-26 2:20 pm

Papa Parrot
Moderator
From: Mexico
Registered: 2011-08-19
Posts: 1,823
Website

Re: Como uso la API para un sitio web NO FORO

En Espanol , el dice,

Está abierto a aprovechar  mediante el cambio de la cookie en la máquina. la variable $usuario que necesitamos indicar correctamente primero.

Offline

#7 2013-06-26 6:16 pm

pedigree
uıɐbɐ ʎɐqǝ ɯoɹɟ pɹɐoqʎǝʞ ɐ buıʎnq ɹǝʌǝu ɯ,ı
From: New Zealand
Registered: 2008-04-16
Posts: 6,841

Re: Como uso la API para un sitio web NO FORO

Gracias Garry smile

Look at mysql_real_escape_string PHP function at http://www.php.net/manual/es/function.m … string.php

Offline

#8 2013-06-26 10:51 pm

Papa Parrot
Moderator
From: Mexico
Registered: 2011-08-19
Posts: 1,823
Website

Re: Como uso la API para un sitio web NO FORO

Busca este:

pedigree wrote:

Gracias Garry smile

Look at mysql_real_escape_string PHP function at http://www.php.net/manual/es/function.m … string.php

Thank you, this is good, and it is in Spanish.
Gracias usted, eso es muy buen porque tambien es en Espanol,

Offline

#9 2013-06-27 1:12 am

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

Re: Como uso la API para un sitio web NO FORO

Si, entiendo todo valor obtenido por HTTP puede ser convertido a un grave problema de seguridad interna en el servidor, pero como solo era un ejemplo. Para un uso real se deverian filtrar los datos de la  y/o SESSION.

Pero como repito solo era un ejemplo, no era para su aplicación, ya que todo valor tiene que ser filtrado, para evitar que un valor no este malintencionado.

Offline

#10 2013-06-27 1:36 am

Papa Parrot
Moderator
From: Mexico
Registered: 2011-08-19
Posts: 1,823
Website

Re: Como uso la API para un sitio web NO FORO

Sí, lo entiendo todo valor HTTP obtenido se puede convertir en un problema de seguridad interna grave en el servidor, pero como era sólo un ejemplo. Para el uso actual debe filtrar los datos y / o sesión.
Pero como ya he dicho era sólo un ejemplo, que debía aplicarse, ya que todo tiene que ser filtrada valor para evitar que un valor es malicioso.

------
Tuve algunos problemas para entender esto. Arriba, por encima es como yo lo interpreto.
  En todos modos , estos ejemplos son bienvenidos, la gente puede aprender de ellos.

(this is how I put it in English) for Pedigree, or others)

Yes, I understand all HTTP value obtained can be converted to a serious internal security problem on the server, but as it was only an example. For actual use should filter data and / or SESSION.
But as I mentioned was just an example, it was to be applied, since everything has to be filtered value to prevent a value is malicious.

------
I had some trouble understanding this, above, is how I interpret it,
In every way ,these examples are welcome, people can learn from them.
Gracias,
and Thanks

Offline

#11 2013-06-27 4:02 am

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

Re: Como uso la API para un sitio web NO FORO

GarryRicketson wrote:

Sí, lo entiendo todo valor HTTP obtenido se puede convertir en un problema de seguridad interna grave en el servidor, pero como era sólo un ejemplo. Para el uso actual debe filtrar los datos y / o sesión.
Pero como ya he dicho era sólo un ejemplo, que debía aplicarse, ya que todo tiene que ser filtrada valor para evitar que un valor es malicioso.

------
Tuve algunos problemas para entender esto. Arriba, por encima es como yo lo interpreto.
  En todos modos , estos ejemplos son bienvenidos, la gente puede aprender de ellos.

(this is how I put it in English) for Pedigree, or others)

Yes, I understand all HTTP value obtained can be converted to a serious internal security problem on the server, but as it was only an example. For actual use should filter data and / or SESSION.
But as I mentioned was just an example, it was to be applied, since everything has to be filtered value to prevent a value is malicious.

------
I had some trouble understanding this, above, is how I interpret it,
In every way ,these examples are welcome, people can learn from them.
Gracias,
and Thanks


Lo voy a decir mas resumido:

Todos los datos que pueden ser modificados por el usuario o un tercero deben ser filtrados. Y el ejemplo no pasaba de ello solo era un ejemplo, ya que para un caso real de aplicacion a un sitio web deberia filtrarse para que no contenga un codigo malicioso. big_smile

Offline

#12 2013-06-27 4:20 am

Papa Parrot
Moderator
From: Mexico
Registered: 2011-08-19
Posts: 1,823
Website

Re: Como uso la API para un sitio web NO FORO

Si, si entiendo mejor ahora, tube algo mas que decir, pero estoy muy cansado,..tal vez manana,
Quiero experimentar, con los ejemplos, , para comprender mas,  yo uso una  "host local" , en mi propio computadora, para ser eso.
gracias.

Offline

#13 2013-07-04 1:35 am

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

Re: Como uso la API para un sitio web NO FORO

GarryRicketson wrote:

Si, si entiendo mejor ahora, tube algo mas que decir, pero estoy muy cansado,..tal vez manana,
Quiero experimentar, con los ejemplos, , para comprender mas,  yo uso una  "host local" , en mi propio computadora, para ser eso.
gracias.

Bueno, aqui estare revisando smile

Hay me avisas como te fue big_smile


Yo estaba haciendo más clases con SFS pero queria hacer otras un poco más avanzadas pero creo que no va con los terminos y condiciones del sitio, hay las leere luego y te aviso smile

Y estaba haciendo otra clase diferente si usar API, para identificar si es un "Bot" o un "Hacker", que trata de acceder a el sitio si es un bot y buscar vulnerabilidades por ejemplo, si es un "Hacker".

Lo que hace es Bloquear y mandar un mensaje que es un posible intento de hacking...

Aqui dejo el ejemplo:

<?php
$token = md5(uniqid(rand(time()), true)); // Generamos un TOKEN

$AntiBot = new AntiBot($token); // Abrimos la Clase
$AntiBot->AddSID("PHPSESSION"); // Añadimos un SID
$IsBot = $AntiBot->ISBot("PHPSESSION"); // Verificamos si es un BOT
$AntiBot->CloseSID(); // Cerramos el SID

if($IsBot){ // Si es un Bot
	print "Oh oh! - Es un BOT!";
}else{ // Si NO es un Bot
	print "Wii! (Nintendo TM) xD - No eres un Bot!";
}
?>

No publico las clases porque no creo que es correcto por que no es sobre el foro xD


Posdata: El que lo quiera MP... o si me lo permiten lo postiaria smile

Offline

#14 2013-07-06 6:27 pm

Papa Parrot
Moderator
From: Mexico
Registered: 2011-08-19
Posts: 1,823
Website

Re: Como uso la API para un sitio web NO FORO

MegaBedder:
Bueno, aqui estare revisando
Hay me avisas como te fue

Bueno, desculpe por tarde mucho para responde, ya, toda via no, tuve mucho tiempo.
Pero si es tambien, para publicar los, gracias por sus contribuciones.


MegaBedder:
No publico las clases porque no creo que es correcto por que no es sobre el foro xD

Posdata: El que lo quiera MP... o si me lo permiten lo postiaria

Si alguno quiere aver esos, si puede publicad los, no problema.

Offline

#15 2013-07-07 12:36 am

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

Re: Como uso la API para un sitio web NO FORO

GarryRicketson wrote:

MegaBedder:
Bueno, aqui estare revisando
Hay me avisas como te fue

Bueno, desculpe por tarde mucho para responde, ya, toda via no, tuve mucho tiempo.
Pero si es tambien, para publicar los, gracias por sus contribuciones.


MegaBedder:
No publico las clases porque no creo que es correcto por que no es sobre el foro xD

Posdata: El que lo quiera MP... o si me lo permiten lo postiaria

Si alguno quiere aver esos, si puede publicad los, no problema.


Bueno, solo termino los retoques, y lo publico con su explicación smile

Lo publicare en la clase de PHP que hice...

Offline

#16 2013-07-07 12:43 am

Papa Parrot
Moderator
From: Mexico
Registered: 2011-08-19
Posts: 1,823
Website

Re: Como uso la API para un sitio web NO FORO

Lo publicare en la clase de PHP que hice

Si, es tambien

Offline

Board footer

Powered by FluxBB

Close
Close