Desafortunadamente su servicio web nunca será completamente segura pero aquí están algunas de las cosas básicas que puede hacer:
- Usar SSL
- Wrap todo su (app) cargas útiles de salida en
POST
solicitudes. Esto evitará que el espionaje casual descubra cómo funciona su servicio web (para poder realizar una ingeniería inversa del protocolo).
- Valide de alguna manera a los usuarios de su aplicación. Idealmente, esto involucrará a OAUTH, por ejemplo, usando credenciales de Google, pero se entiende la idea.
Ahora voy a señalar por qué esto no se sea completamente segura:
- Si alguien obtiene una suspensión de su aplicación y la ingeniería inversa, todo lo que acaba de hacer está fuera de la ventana. Lo único que se mantendrá es su validación usuario.
- Incrustar un certificado de cliente (como han señalado otras personas) no hace nada para ayudarlo en este escenario. Si solo reinvierto el desarrollo de su aplicación, también tengo su certificado de cliente.
Lo puede hacer usted?
- Valida las cuentas en tu back-end y supervisa el uso anómalo.
Por supuesto, todo esto se va por la ventana cuando alguien viene, realiza una ingeniería inversa de su aplicación, construye otra para imitarla, y usted (generalmente) no sabría nada mejor. Todos estos son solo puntos a tener en cuenta.
Editar: Además, si no era ya evidente, utilizar POST
(o GET
) las solicitudes de todos los consultas de la aplicación (en su servidor). Esto, combinado con SSL, debería frustrar a tus fisgones casuales.
Edit2: Parece como si estoy re mal: POST
siendo más seguras que las GET
. This respuesta fue bastante útil al señalar eso. Así que supongo que puede usar GET
o POST
de manera intercambiable aquí.
por qué en la tierra cualquier persona votar para cerrar esta? –
¿Cuidar para explicar downvoter? – LuckyLuke