elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Ayuda] La mejor manera de encarar este sistema sin riesgo de BAN
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] La mejor manera de encarar este sistema sin riesgo de BAN  (Leído 2,487 veces)
PabloPbl

Desconectado Desconectado

Mensajes: 188


Ver Perfil
[Ayuda] La mejor manera de encarar este sistema sin riesgo de BAN
« en: 1 Julio 2021, 22:45 pm »

Buenas estoy haciendo un sistema en el cual necesito consumir la API de Binance atravez PHP.

El sistema va a ser usado por varias personas y el problema es que Binance tiene un limite de peticiones hechas atreves de una misma IP. Por lo que se me ocurrió hacer que esas consultas a la API de Binance, se hagan del lado del cliente y no del servidor.

Se hace toda la lógica previamente desde PHP y el cliente solo hara las peticiones correspondientes a Binance desde el navegador.

Pero surge otro problema que no se como resolverlo, en el cual es que a la hora de mandar las consultas al cliente desde el servidor, este recibirá también las Api Key y Secrey Key de Binance, por lo que podrá cambiarlas y así burlar la seguridad del sistema del lado del cliente.

Hay alguna forma de que esto se pueda evitar?

Lo único que se me ocurrió es hacerlo desde el lado del servidor, pero con ese problema de que todas las peticiones se hacen de una misma IP y con el riesgo de que la puedan banear.


Ahora me pregunto, como hacen todas esas Apps, para manejar miles y miles de usuarios simultáneos desde un mismo servidor, sin riesgo de ban?

Por ejemplo:
cryptohopper
bitsgap

Otra forma que se me ocurrió es cifrar las info que va a ser consumida desde el cliente. Pero lo descarte por que la desencriptación debe hacerse del lado del cliente de todas formas y en algún lugar debo guardar la llave. Cosa que alguien fácilmente puede ver el script generado de JS y obtener la llave.

Gracias desde ya.


En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.675


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: [Ayuda] La mejor manera de encarar este sistema sin riesgo de BAN
« Respuesta #1 en: 1 Julio 2021, 23:48 pm »

Hola, con respecto a tu última idea, podes usar javascript y ofuscar el código, sin embargo además de eso podes crear tu propio algoritmo o método para que el servidor pueda recibir los datos, es decir el cliente envía un dato que puede estar cifrado o no y tú servidor internamente realiza unas operaciones y puede obtener la llave para así comprobar si es válida o no.

Si bien la persona cliente puede desofuscar el código javascript y mirar internamente lo que hay dentro pero no puede saber cuál es el algoritmo que utiliza tu servidor para obtener la llave, puede ser por ejemplo una clave larga incluso hasta con espacios irrompibles y tú servidor puede a esa clave revertirla, hacer operaciones matemáticas, cortar desde x cantidad de caracteres hasta x final, podes decodificarla.
En resumen el cliente puede enviar un dato pero tú servidor a ese dato le puede hacer varias operaciones para obtener solo una parte de ese dato mientras el cliente piensa que ese dato entero es la llave cuando puede ser totalmente distinta.

Por ejemplo que el dato tenga un número 5 y tú servidor multiplique el dato en vez de 5 veces que le sume 2, entonces serían 7 veces.


Saludos


« Última modificación: 1 Julio 2021, 23:52 pm por [D]aniel » En línea

el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 21.586


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: [Ayuda] La mejor manera de encarar este sistema sin riesgo de BAN
« Respuesta #2 en: 2 Julio 2021, 12:35 pm »

Es realmente un problema estar limitado por la API, lo digo porque a mucha más gente le ha sucedido. Al final tienes que pagar más, limitar el servicio (te recomiendo usar servicio ReCaptcha) para validar humanos de robots y evitar peticiones excesivas.

Por ejemplo API consultas Google Maps tiene límites:
https://www.elhacker.net/geolocalizacion.html

Pero normalmente la API está limitada no solamente por IP, también al usar credenciales (API Key) te suelen limitar por número consultas de ese usuario

Citar
Binance tiene un limite de peticiones hechas atreves de una misma IP

Lee bien, porque en ningún momento dicen que tengan limitaciones de una misma IP, sólo dicen que bloquearán la IP si hace intentos excesivos

https://www.binance.com/es-ES/support/faq/360004492232

Citar
- 1200 solicitudes por minuto (ten en cuenta que no es necesariamente lo mismo que 1200 solicitudes)
- 50 órdenes cada 10 segundos
- 160 000 órdenes cada 24 horas

Era una buena idea inicialmente usar el lado cliente en vez del servidor, pero en este caso no solucionas nada, y además siempre tendrás que  enviar (aunque sea ofuscando) la API Key

Citar
como hacen todas esas Apps, para manejar miles y miles de usuarios simultáneos desde un mismo servidor, sin riesgo de ban?

- Pagando por un API con limites más altos
- Cacheando contenido
- Limitando consultas y evitando consultas robots y repetitivas (excesivas)
En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.675


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: [Ayuda] La mejor manera de encarar este sistema sin riesgo de BAN
« Respuesta #3 en: 2 Julio 2021, 14:49 pm »

También podes hacer las consultas sin usar la API, por ejemplo hay sitios webs para hacer consultas usando su API pero ésta tiene límites de consultas, entonces lo que podes hacer es usar por ejemplo el servicio de la web para que te brinde los datos haciendo peticiones GET o POST, hay sitios que limitan las consultas por la API pero no la otra parte.

Otra manera que podes hacer algo pero más automatizado y avanzado aunque no tan eficiente como usar el servicio pago en donde tendrás como bien comenta el brujo un límite más alto de consultas, de hecho suele ser mucho más alto el límite, bueno te comento es usar proxys, que cada proxy haga una x cantidad de consultas x día y si está llegando al límite entonces usarías otro proxy con otra API, tendrías que registrar varias APIs para lograr ésto y que tú software pueda buscar los proxys de alguna página web y los use para aumentar el límite de consultas, y también podrías crear por ejemplo una lista de user-agent para que parezca como si fuesen personas que hacen las consultas desde navegadores, el problema que tal vez puedas tener en ésto es que esa página puede tener algún sistema de detección y bloqueo de proxys, por ejemplo si utilizan EfnetRBL y DroneBL olvídate de esta  alternativa, de igual manera lo que podrías hacer para comprobarlo es hacer las consultas usando varios proxys manualmente y así verificar si tiene o no un sistema de bloqueo de ese tipo, pero primero tienes que hacer la prueba y salir de dudas porque sino para que crear todo un sistema de consultas y que realmente no te vaya a servir/funcionar.


Saludos
En línea

PabloPbl

Desconectado Desconectado

Mensajes: 188


Ver Perfil
Re: [Ayuda] La mejor manera de encarar este sistema sin riesgo de BAN
« Respuesta #4 en: 9 Julio 2021, 01:53 am »

Gracias amigos por las respuestas.

Después de pensarlo un buen rato, me decante por usar una API de terceros de pago la cual me pueda brindar un cambio de IP por cada peticion que se hace desde el servidor, o que se encargue de evitar los Rate Limit de Binance.

El problema es que no he logrado encontrar una, o no he sabido buscarla.

Probe con las siguientes frases en Google pero no logro dar con ningun servicio que me de esas opciones para cambiar IP por cada petición y asi evitar los rate limit.

Binance without rate limit
Binance Api price
increase api Binance limit
3rd party binance api

Probe con infinidad de palabras de ese estilo pero no se como buscar el servicio que me comentan.

Que servicio me recomendarian usar? o como lo buscarían en Google?

No necesariamente tiene que ser de Binance el servicio, si no una que me funcione como intermediario para hacer las peticiones, GET, POST, PUT y DELETE. y que por cada peticion que se lance, con la api key que me de el servicio, este cambie su IP. No importa si es de pago.

Muchas gracias amigos por las respuestas.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Mejor manera de restringir acceso?
PHP
19.5 5 2,165 Último mensaje 18 Diciembre 2007, 08:57 am
por WHK
Que es mejor ?.. Joomla o Wordexpress u otro sistema?.. ayuda..
Desarrollo Web
ositocaro 5 4,896 Último mensaje 3 Marzo 2011, 20:50 pm
por Anay
Mejor manera de formatear « 1 2 »
Software
motocros_elche 19 5,706 Último mensaje 3 Noviembre 2011, 16:08 pm
por motocros_elche
Cuál es la mejor manera de aprender php?
PHP
ccrunch 4 2,614 Último mensaje 3 Octubre 2014, 22:14 pm
por sergio98
matriz en C nose como encarar el ejercicio se agradece la ayuda
Programación C/C++
DAOST420 3 2,773 Último mensaje 13 Octubre 2020, 18:08 pm
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines