Desafortunadamente, nunca puede estar 100% seguro de que el cliente que usa su API es su propia aplicación. Como dice el refrán, nunca confíes en el cliente .
Sin embargo, puede hacer algunas cosas para reducir la posibilidad de que alguien (ab) use su API:
- Cifrar toda la comunicación. Use HTTPS para que alguien no pueda rastrear fácilmente su tráfico y averiguar cómo acceder a su API.
- Ofusca tu código . Esto reducirá la posibilidad de que las personas puedan descompilar su código y usar su API. De forma predeterminada, ProGuard (al menos en el SDK de Android) no cifra las cadenas, por lo que deberá encontrar una manera de ofuscarlas usted mismo. Quizás agregue su propio código de desafío-respuesta a su protocolo de enlace API, lo que lo hace un poco más difícil que solo encontrar el token / secreto correcto.
- Mudar. Incluso si alguien resuelve cómo usar su API, mutela a menudo para que tenga que averiguar cómo volver a usarla. Recuerde dejar un período de gracia para que los usuarios de versiones antiguas de su software tengan tiempo para actualizarse.
- Utiliza un protocolo personalizado. La mayoría de las API usan HTTP / REST u otro protocolo RPC popular. Escribir el tuyo es difícil, pero lo hace un poco más difícil para cualquier atacante potencial.
En realidad hay una quinta opción. Deje que la gente use su API. Que sea fácil para ellos. Quizás nadie lo haga. O tal vez, suficientes personas lo usan para que pueda crear un negocio solo desde la API y cobrarles en consecuencia. Si es tan valioso para usted, lo más probable es que también lo sea para otra persona: ¡úselo para su ventaja!
- ¿Realmente todo está pasando a dispositivos móviles, no estoy seguro de iniciar mi inicio como una aplicación web o una aplicación móvil?
- ¿Cuáles son las mejores aplicaciones para conocer gente?
- Para las aplicaciones que usan SMS, ¿cuál es el costo mayorista por mensaje al servicio para enviar un mensaje de texto?
- ¿Cuáles son algunas de las herramientas de prueba más prometedoras?
- ¿Qué software / sitio / aplicación es bueno para administrar los gastos diarios?