Asegúrese de que la request de http (s) proviene de mi aplicación iOS

Estoy desarrollando una aplicación de iOS donde los usuarios muestran contenido relacionado con sus alnetworkingedores. Tengo una autentificación de nombre de usuario / contraseña. Entonces, un usuario envía sus datos gps junto con su información de inicio de session a mi back-end PHP / MySQL, que luego devuelve los datos.

Sin embargo, temo que alguien pueda descomstackr mi aplicación, registrarse y luego "escanear" toda mi database simplemente enviando requestes con diferentes datos gps que en realidad no provienen de un dispositivo iOS. hay alguna forma de prevenir esto? Ya he buscado en Google y encontré esta amenaza:

¿Cómo asegurarse de que las requestes de API provienen de nuestra aplicación mobile (ios / Android)?

Pero creo que el problema es ligeramente diferente y no resuelve mi problema.

Analicé las keys API pero no encontré una forma de impedir que un usuario malintencionado acceda a la API mediante el logging / descompilation y luego utilizo su información de inicio de session junto con la key del código.

Cualquier ayuda es apreciada. Ene

Tuve el mismo problema con una aplicación anterior. Al final, realmente no puede confiar en que se verifique una regla de acceso y acoplamiento basada en dispositivos.

Lo primero a considerar es alguna forma de authentication. Pero suponiendo que ya lo has considerado, es posible que no sea aplicable a tu aplicación.

Mi enfoque fue verificar y restringir el número de consultas que pueden originarse de un determinado origen por un día. Calcule en function de los intervalos de actualización, qué cantidad de datos esperaría get de su server, coloque un 10% sobre eso y deje de proporcionar datos a ese destino una vez superado, y envíe un correo electrónico al administrador sobre el evento para que él puede investigarlo y tal vez prohibir al cliente de forma permanente.

Como se dijo en un comentario anterior, tampoco es resistente al agua, pero funciona de forma independiente del dispositivo, y cuanto más lo haga para abusar, mejor será.

Bueno, no soy un desarrollador de dispositivos mobilees, pero si no tienes otras opciones, podrías generar un token (algún hash) y todas las llamadas a tu API deben verificarse en relación con el token.

Puede registrar todas las requestes por usuario, luego usar las coorderadas del GPS para aplicar reglas al movimiento del usuario. Por ejemplo, establezca una regla que dispare si las coorderadas sugieren que el usuario se mueve más rápido que 500 mph, o viaja más de 10,000 millas en un día, ese tipo de cosas. Si las reglas se disparan, el movimiento es artificial y se lo está parsing; si las reglas no lo activan significa que el usuario se está moviendo de la manera normal y humana como se esperaba.